{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "zX4Kg8DUTKWO"
   },
   "outputs": [],
   "source": [
    "# 模拟生成时间序列\n",
    "# 模拟生成数据集\n",
    "# 搭建两个LSTM神经网络，一个使用LR_scheduler机制调整学习率，另一个不做处理\n",
    "# 结果对比，计算误差loss和平均绝对误差MAE\n",
    "\n",
    "#@title Licensed under the Apache License, Version 2.0 (the \"License\");\n",
    "# you may not use this file except in compliance with the License.\n",
    "# You may obtain a copy of the License at\n",
    "#\n",
    "# https://www.apache.org/licenses/LICENSE-2.0\n",
    "#\n",
    "# Unless required by applicable law or agreed to in writing, software\n",
    "# distributed under the License is distributed on an \"AS IS\" BASIS,\n",
    "# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n",
    "# See the License for the specific language governing permissions and\n",
    "# limitations under the License."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "D1J15Vh_1Jih"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Collecting tf-nightly-2.0-preview\n",
      "\u001b[31m  ERROR: Could not find a version that satisfies the requirement tf-nightly-2.0-preview (from versions: none)\u001b[0m\n",
      "\u001b[31mERROR: No matching distribution found for tf-nightly-2.0-preview\u001b[0m\n"
     ]
    }
   ],
   "source": [
    "!pip install tf-nightly-2.0-preview"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 35
    },
    "colab_type": "code",
    "id": "BOjujz601HcS",
    "outputId": "aa0651c4-b24e-4e1e-936c-e31004fa751b"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2.2.0\n"
     ]
    }
   ],
   "source": [
    "import tensorflow as tf\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "print(tf.__version__)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "Zswl7jRtGzkk"
   },
   "outputs": [],
   "source": [
    "# 模拟生成时间序列\n",
    "def plot_series(time, series, format=\"-\", start=0, end=None):\n",
    "    plt.plot(time[start:end], series[start:end], format)\n",
    "    plt.xlabel(\"Time\")\n",
    "    plt.ylabel(\"Value\")\n",
    "    plt.grid(True)\n",
    "\n",
    "def trend(time, slope=0):\n",
    "    return slope * time\n",
    "\n",
    "def seasonal_pattern(season_time):\n",
    "    \"\"\"Just an arbitrary pattern, you can change it if you wish\"\"\"\n",
    "    return np.where(season_time < 0.4,\n",
    "                    np.cos(season_time * 2 * np.pi),\n",
    "                    1 / np.exp(3 * season_time))\n",
    "\n",
    "def seasonality(time, period, amplitude=1, phase=0):\n",
    "    \"\"\"Repeats the same pattern at each period\"\"\"\n",
    "    season_time = ((time + phase) % period) / period\n",
    "    return amplitude * seasonal_pattern(season_time)\n",
    "\n",
    "def noise(time, noise_level=1, seed=None):\n",
    "    rnd = np.random.RandomState(seed)\n",
    "    return rnd.randn(len(time)) * noise_level\n",
    "\n",
    "time = np.arange(4 * 365 + 1, dtype=\"float32\")\n",
    "baseline = 10\n",
    "series = trend(time, 0.1)  \n",
    "baseline = 10\n",
    "amplitude = 40\n",
    "slope = 0.05\n",
    "noise_level = 5\n",
    "\n",
    "# Create the series\n",
    "series = baseline + trend(time, slope) + seasonality(time, period=365, amplitude=amplitude)\n",
    "# Update with noise\n",
    "series += noise(time, noise_level, seed=42)\n",
    "\n",
    "split_time = 1000\n",
    "time_train = time[:split_time]\n",
    "x_train = series[:split_time]\n",
    "time_valid = time[split_time:]\n",
    "x_valid = series[split_time:]\n",
    "\n",
    "window_size = 20\n",
    "batch_size = 32\n",
    "shuffle_buffer_size = 1000"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "4sTTIOCbyShY"
   },
   "outputs": [],
   "source": [
    "# 模拟生成数据集\n",
    "def windowed_dataset(series, window_size, batch_size, shuffle_buffer):\n",
    "  dataset = tf.data.Dataset.from_tensor_slices(series)\n",
    "  dataset = dataset.window(window_size + 1, shift=1, drop_remainder=True)\n",
    "  dataset = dataset.flat_map(lambda window: window.batch(window_size + 1))\n",
    "  dataset = dataset.shuffle(shuffle_buffer).map(lambda window: (window[:-1], window[-1]))\n",
    "  dataset = dataset.batch(batch_size).prefetch(1)\n",
    "  return dataset"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 1000
    },
    "colab_type": "code",
    "id": "A1Hl39rklkLm",
    "outputId": "75cbaf63-f635-4dd1-96fd-b4e1d6fd94bb"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 1/100\n",
      "31/31 [==============================] - 1s 17ms/step - loss: 21.5167 - mae: 22.0115 - lr: 1.0000e-08\n",
      "Epoch 2/100\n",
      "31/31 [==============================] - 0s 14ms/step - loss: 21.1522 - mae: 21.6444 - lr: 1.1220e-08\n",
      "Epoch 3/100\n",
      "31/31 [==============================] - 0s 15ms/step - loss: 20.7302 - mae: 21.2236 - lr: 1.2589e-08\n",
      "Epoch 4/100\n",
      "31/31 [==============================] - 0s 14ms/step - loss: 20.2834 - mae: 20.7757 - lr: 1.4125e-08\n",
      "Epoch 5/100\n",
      "31/31 [==============================] - 0s 13ms/step - loss: 19.7897 - mae: 20.2855 - lr: 1.5849e-08\n",
      "Epoch 6/100\n",
      "31/31 [==============================] - 0s 13ms/step - loss: 19.1782 - mae: 19.6696 - lr: 1.7783e-08\n",
      "Epoch 7/100\n",
      "31/31 [==============================] - 0s 13ms/step - loss: 18.2410 - mae: 18.7333 - lr: 1.9953e-08\n",
      "Epoch 8/100\n",
      "31/31 [==============================] - 0s 13ms/step - loss: 17.4825 - mae: 17.9748 - lr: 2.2387e-08\n",
      "Epoch 9/100\n",
      "31/31 [==============================] - 0s 13ms/step - loss: 17.1597 - mae: 17.6529 - lr: 2.5119e-08\n",
      "Epoch 10/100\n",
      "31/31 [==============================] - 0s 14ms/step - loss: 16.8547 - mae: 17.3463 - lr: 2.8184e-08\n",
      "Epoch 11/100\n",
      "31/31 [==============================] - 0s 14ms/step - loss: 16.5533 - mae: 17.0471 - lr: 3.1623e-08\n",
      "Epoch 12/100\n",
      "31/31 [==============================] - 0s 13ms/step - loss: 16.2565 - mae: 16.7524 - lr: 3.5481e-08\n",
      "Epoch 13/100\n",
      "31/31 [==============================] - 0s 13ms/step - loss: 15.9629 - mae: 16.4598 - lr: 3.9811e-08\n",
      "Epoch 14/100\n",
      "31/31 [==============================] - 0s 13ms/step - loss: 15.6593 - mae: 16.1548 - lr: 4.4668e-08\n",
      "Epoch 15/100\n",
      "31/31 [==============================] - 0s 14ms/step - loss: 15.3713 - mae: 15.8652 - lr: 5.0119e-08\n",
      "Epoch 16/100\n",
      "31/31 [==============================] - 0s 14ms/step - loss: 15.0752 - mae: 15.5697 - lr: 5.6234e-08\n",
      "Epoch 17/100\n",
      "31/31 [==============================] - 0s 15ms/step - loss: 14.7905 - mae: 15.2869 - lr: 6.3096e-08\n",
      "Epoch 18/100\n",
      "31/31 [==============================] - 0s 14ms/step - loss: 14.5229 - mae: 15.0178 - lr: 7.0795e-08\n",
      "Epoch 19/100\n",
      "31/31 [==============================] - 0s 13ms/step - loss: 14.2707 - mae: 14.7636 - lr: 7.9433e-08\n",
      "Epoch 20/100\n",
      "31/31 [==============================] - 0s 13ms/step - loss: 14.0293 - mae: 14.5217 - lr: 8.9125e-08\n",
      "Epoch 21/100\n",
      "31/31 [==============================] - 0s 13ms/step - loss: 13.8191 - mae: 14.3135 - lr: 1.0000e-07\n",
      "Epoch 22/100\n",
      "31/31 [==============================] - 0s 13ms/step - loss: 13.6084 - mae: 14.1032 - lr: 1.1220e-07\n",
      "Epoch 23/100\n",
      "31/31 [==============================] - 0s 14ms/step - loss: 13.4096 - mae: 13.9038 - lr: 1.2589e-07\n",
      "Epoch 24/100\n",
      "31/31 [==============================] - 1s 16ms/step - loss: 13.1859 - mae: 13.6794 - lr: 1.4125e-07\n",
      "Epoch 25/100\n",
      "31/31 [==============================] - 0s 13ms/step - loss: 12.9819 - mae: 13.4747 - lr: 1.5849e-07\n",
      "Epoch 26/100\n",
      "31/31 [==============================] - 0s 14ms/step - loss: 12.7278 - mae: 13.2184 - lr: 1.7783e-07\n",
      "Epoch 27/100\n",
      "31/31 [==============================] - 0s 14ms/step - loss: 12.4886 - mae: 12.9799 - lr: 1.9953e-07\n",
      "Epoch 28/100\n",
      "31/31 [==============================] - 0s 14ms/step - loss: 12.3459 - mae: 12.8362 - lr: 2.2387e-07\n",
      "Epoch 29/100\n",
      "31/31 [==============================] - 0s 14ms/step - loss: 11.9127 - mae: 12.4017 - lr: 2.5119e-07\n",
      "Epoch 30/100\n",
      "31/31 [==============================] - 0s 13ms/step - loss: 11.5934 - mae: 12.0835 - lr: 2.8184e-07\n",
      "Epoch 31/100\n",
      "31/31 [==============================] - 0s 13ms/step - loss: 11.2859 - mae: 11.7771 - lr: 3.1623e-07\n",
      "Epoch 32/100\n",
      "31/31 [==============================] - 0s 14ms/step - loss: 11.3520 - mae: 11.8418 - lr: 3.5481e-07\n",
      "Epoch 33/100\n",
      "31/31 [==============================] - 0s 14ms/step - loss: 10.5232 - mae: 11.0140 - lr: 3.9811e-07\n",
      "Epoch 34/100\n",
      "31/31 [==============================] - 0s 15ms/step - loss: 10.5447 - mae: 11.0325 - lr: 4.4668e-07\n",
      "Epoch 35/100\n",
      "31/31 [==============================] - 0s 14ms/step - loss: 10.0746 - mae: 10.5595 - lr: 5.0119e-07\n",
      "Epoch 36/100\n",
      "31/31 [==============================] - 0s 13ms/step - loss: 9.4727 - mae: 9.9614 - lr: 5.6234e-07\n",
      "Epoch 37/100\n",
      "31/31 [==============================] - 0s 14ms/step - loss: 10.0586 - mae: 10.5491 - lr: 6.3096e-07\n",
      "Epoch 38/100\n",
      "31/31 [==============================] - 0s 13ms/step - loss: 9.6620 - mae: 10.1492 - lr: 7.0795e-07\n",
      "Epoch 39/100\n",
      "31/31 [==============================] - 0s 13ms/step - loss: 9.1771 - mae: 9.6615 - lr: 7.9433e-07\n",
      "Epoch 40/100\n",
      "31/31 [==============================] - 0s 12ms/step - loss: 8.7433 - mae: 9.2295 - lr: 8.9125e-07\n",
      "Epoch 41/100\n",
      "31/31 [==============================] - 0s 12ms/step - loss: 8.3262 - mae: 8.8113 - lr: 1.0000e-06\n",
      "Epoch 42/100\n",
      "31/31 [==============================] - 0s 13ms/step - loss: 7.9833 - mae: 8.4668 - lr: 1.1220e-06\n",
      "Epoch 43/100\n",
      "31/31 [==============================] - 0s 13ms/step - loss: 7.6556 - mae: 8.1415 - lr: 1.2589e-06\n",
      "Epoch 44/100\n",
      "31/31 [==============================] - 0s 15ms/step - loss: 7.3912 - mae: 7.8775 - lr: 1.4125e-06\n",
      "Epoch 45/100\n",
      "31/31 [==============================] - 0s 13ms/step - loss: 7.2120 - mae: 7.6956 - lr: 1.5849e-06\n",
      "Epoch 46/100\n",
      "31/31 [==============================] - 0s 13ms/step - loss: 6.9068 - mae: 7.3907 - lr: 1.7783e-06\n",
      "Epoch 47/100\n",
      "31/31 [==============================] - 0s 13ms/step - loss: 6.6889 - mae: 7.1726 - lr: 1.9953e-06\n",
      "Epoch 48/100\n",
      "31/31 [==============================] - 0s 13ms/step - loss: 6.5799 - mae: 7.0618 - lr: 2.2387e-06\n",
      "Epoch 49/100\n",
      "31/31 [==============================] - 0s 14ms/step - loss: 6.2154 - mae: 6.6920 - lr: 2.5119e-06\n",
      "Epoch 50/100\n",
      "31/31 [==============================] - 0s 15ms/step - loss: 6.0434 - mae: 6.5219 - lr: 2.8184e-06\n",
      "Epoch 51/100\n",
      "31/31 [==============================] - 0s 14ms/step - loss: 5.9134 - mae: 6.3911 - lr: 3.1623e-06\n",
      "Epoch 52/100\n",
      "31/31 [==============================] - 0s 13ms/step - loss: 5.7809 - mae: 6.2624 - lr: 3.5481e-06\n",
      "Epoch 53/100\n",
      "31/31 [==============================] - 0s 14ms/step - loss: 5.6346 - mae: 6.1150 - lr: 3.9811e-06\n",
      "Epoch 54/100\n",
      "31/31 [==============================] - 0s 14ms/step - loss: 5.5273 - mae: 6.0022 - lr: 4.4668e-06\n",
      "Epoch 55/100\n",
      "31/31 [==============================] - 0s 13ms/step - loss: 5.4035 - mae: 5.8749 - lr: 5.0119e-06\n",
      "Epoch 56/100\n",
      "31/31 [==============================] - 0s 13ms/step - loss: 5.5641 - mae: 6.0361 - lr: 5.6234e-06\n",
      "Epoch 57/100\n",
      "31/31 [==============================] - 0s 13ms/step - loss: 5.2958 - mae: 5.7738 - lr: 6.3096e-06\n",
      "Epoch 58/100\n",
      "31/31 [==============================] - 0s 13ms/step - loss: 5.2829 - mae: 5.7638 - lr: 7.0795e-06\n",
      "Epoch 59/100\n",
      "31/31 [==============================] - 0s 14ms/step - loss: 5.1410 - mae: 5.6200 - lr: 7.9433e-06\n",
      "Epoch 60/100\n",
      "31/31 [==============================] - 0s 13ms/step - loss: 5.0451 - mae: 5.5172 - lr: 8.9125e-06\n",
      "Epoch 61/100\n",
      "31/31 [==============================] - 0s 13ms/step - loss: 5.3098 - mae: 5.7868 - lr: 1.0000e-05\n",
      "Epoch 62/100\n",
      "31/31 [==============================] - 0s 13ms/step - loss: 5.2083 - mae: 5.6865 - lr: 1.1220e-05\n",
      "Epoch 63/100\n",
      "31/31 [==============================] - 0s 13ms/step - loss: 5.1031 - mae: 5.5791 - lr: 1.2589e-05\n",
      "Epoch 64/100\n",
      "31/31 [==============================] - 0s 13ms/step - loss: 4.8386 - mae: 5.3111 - lr: 1.4125e-05\n",
      "Epoch 65/100\n",
      "31/31 [==============================] - 0s 15ms/step - loss: 5.1564 - mae: 5.6392 - lr: 1.5849e-05\n",
      "Epoch 66/100\n",
      "31/31 [==============================] - 0s 16ms/step - loss: 5.3920 - mae: 5.8758 - lr: 1.7783e-05\n",
      "Epoch 67/100\n",
      "31/31 [==============================] - 0s 14ms/step - loss: 6.0050 - mae: 6.4846 - lr: 1.9953e-05\n",
      "Epoch 68/100\n",
      "31/31 [==============================] - 1s 16ms/step - loss: 5.2232 - mae: 5.7050 - lr: 2.2387e-05\n",
      "Epoch 69/100\n",
      "31/31 [==============================] - 0s 15ms/step - loss: 5.6486 - mae: 6.1296 - lr: 2.5119e-05\n",
      "Epoch 70/100\n",
      "31/31 [==============================] - 0s 14ms/step - loss: 5.2164 - mae: 5.6983 - lr: 2.8184e-05\n",
      "Epoch 71/100\n",
      "31/31 [==============================] - 0s 15ms/step - loss: 5.4763 - mae: 5.9580 - lr: 3.1623e-05\n",
      "Epoch 72/100\n",
      "31/31 [==============================] - 0s 12ms/step - loss: 5.0140 - mae: 5.4922 - lr: 3.5481e-05\n",
      "Epoch 73/100\n",
      "31/31 [==============================] - 0s 14ms/step - loss: 6.3982 - mae: 6.8836 - lr: 3.9811e-05\n",
      "Epoch 74/100\n",
      "31/31 [==============================] - 0s 12ms/step - loss: 5.3285 - mae: 5.8072 - lr: 4.4668e-05\n",
      "Epoch 75/100\n",
      "31/31 [==============================] - 0s 14ms/step - loss: 5.4403 - mae: 5.9198 - lr: 5.0119e-05\n",
      "Epoch 76/100\n",
      "31/31 [==============================] - 0s 13ms/step - loss: 5.1077 - mae: 5.5868 - lr: 5.6234e-05\n",
      "Epoch 77/100\n",
      "31/31 [==============================] - 0s 13ms/step - loss: 5.8137 - mae: 6.2975 - lr: 6.3096e-05\n",
      "Epoch 78/100\n",
      "31/31 [==============================] - 0s 13ms/step - loss: 5.5904 - mae: 6.0721 - lr: 7.0795e-05\n",
      "Epoch 79/100\n",
      "31/31 [==============================] - 0s 14ms/step - loss: 5.2263 - mae: 5.7086 - lr: 7.9433e-05\n",
      "Epoch 80/100\n",
      "31/31 [==============================] - 0s 13ms/step - loss: 5.1805 - mae: 5.6592 - lr: 8.9125e-05\n",
      "Epoch 81/100\n",
      "31/31 [==============================] - 0s 14ms/step - loss: 6.7440 - mae: 7.2308 - lr: 1.0000e-04\n",
      "Epoch 82/100\n",
      "31/31 [==============================] - 0s 14ms/step - loss: 6.7740 - mae: 7.2576 - lr: 1.1220e-04\n",
      "Epoch 83/100\n",
      "31/31 [==============================] - 0s 13ms/step - loss: 5.5517 - mae: 6.0343 - lr: 1.2589e-04\n",
      "Epoch 84/100\n",
      "31/31 [==============================] - 0s 13ms/step - loss: 7.9432 - mae: 8.4277 - lr: 1.4125e-04\n",
      "Epoch 85/100\n",
      "31/31 [==============================] - 0s 14ms/step - loss: 6.1820 - mae: 6.6665 - lr: 1.5849e-04\n",
      "Epoch 86/100\n",
      "31/31 [==============================] - 0s 13ms/step - loss: 6.3352 - mae: 6.8214 - lr: 1.7783e-04\n",
      "Epoch 87/100\n",
      "31/31 [==============================] - 0s 14ms/step - loss: 7.5664 - mae: 8.0527 - lr: 1.9953e-04\n",
      "Epoch 88/100\n",
      "31/31 [==============================] - 0s 15ms/step - loss: 7.0964 - mae: 7.5803 - lr: 2.2387e-04\n",
      "Epoch 89/100\n",
      "31/31 [==============================] - 0s 13ms/step - loss: 7.3196 - mae: 7.8087 - lr: 2.5119e-04\n",
      "Epoch 90/100\n",
      "31/31 [==============================] - 0s 15ms/step - loss: 7.0402 - mae: 7.5266 - lr: 2.8184e-04\n",
      "Epoch 91/100\n",
      "31/31 [==============================] - 0s 12ms/step - loss: 10.6863 - mae: 11.1743 - lr: 3.1623e-04\n",
      "Epoch 92/100\n",
      "31/31 [==============================] - 0s 13ms/step - loss: 8.1726 - mae: 8.6610 - lr: 3.5481e-04\n",
      "Epoch 93/100\n",
      "31/31 [==============================] - 0s 13ms/step - loss: 9.5975 - mae: 10.0856 - lr: 3.9811e-04\n",
      "Epoch 94/100\n",
      "31/31 [==============================] - 0s 14ms/step - loss: 8.3580 - mae: 8.8484 - lr: 4.4668e-04\n",
      "Epoch 95/100\n",
      "31/31 [==============================] - 0s 14ms/step - loss: 8.3152 - mae: 8.8047 - lr: 5.0119e-04\n",
      "Epoch 96/100\n",
      "31/31 [==============================] - 0s 13ms/step - loss: 9.3985 - mae: 9.8887 - lr: 5.6234e-04\n",
      "Epoch 97/100\n",
      "31/31 [==============================] - 0s 14ms/step - loss: 10.3721 - mae: 10.8631 - lr: 6.3096e-04\n",
      "Epoch 98/100\n",
      "31/31 [==============================] - 0s 13ms/step - loss: 10.9611 - mae: 11.4520 - lr: 7.0795e-04\n",
      "Epoch 99/100\n",
      "31/31 [==============================] - 0s 13ms/step - loss: 13.1758 - mae: 13.6690 - lr: 7.9433e-04\n",
      "Epoch 100/100\n",
      "31/31 [==============================] - 0s 14ms/step - loss: 12.5551 - mae: 13.0484 - lr: 8.9125e-04\n"
     ]
    }
   ],
   "source": [
    "# 搭建双向LSTM神经网络，使用LR_scheduler机制调整学习率\n",
    "\n",
    "tf.keras.backend.clear_session()\n",
    "tf.random.set_seed(51)\n",
    "np.random.seed(51)\n",
    "\n",
    "tf.keras.backend.clear_session()\n",
    "dataset = windowed_dataset(x_train, window_size, batch_size, shuffle_buffer_size)\n",
    "\n",
    "model = tf.keras.models.Sequential([\n",
    "  tf.keras.layers.Lambda(lambda x: tf.expand_dims(x, axis=-1),\n",
    "                      input_shape=[None]),\n",
    "  tf.keras.layers.Bidirectional(tf.keras.layers.LSTM(32, return_sequences=True)),\n",
    "  tf.keras.layers.Bidirectional(tf.keras.layers.LSTM(32)),\n",
    "  tf.keras.layers.Dense(1),\n",
    "  tf.keras.layers.Lambda(lambda x: x * 100.0)\n",
    "])\n",
    "\n",
    "lr_schedule = tf.keras.callbacks.LearningRateScheduler(\n",
    "    lambda epoch: 1e-8 * 10**(epoch / 20))\n",
    "optimizer = tf.keras.optimizers.SGD(lr=1e-8, momentum=0.9)\n",
    "model.compile(loss=tf.keras.losses.Huber(),\n",
    "              optimizer=optimizer,\n",
    "              metrics=[\"mae\"])\n",
    "history = model.fit(dataset, epochs=100, callbacks=[lr_schedule])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 291
    },
    "colab_type": "code",
    "id": "AkBsrsXMzoWR",
    "outputId": "99a3f57b-9145-4802-8256-401a54b238e7"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(1e-08, 0.0001, 0.0, 30.0)"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAX0AAAEACAYAAABfxaZOAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nO3dd3zV5d3/8dcnm4SZECAkJAzZGyJLQNxKUVFBa3Hd0huto7a/3lprb6v3Xdtq66yjShGr1j0QV1W0yJIVNgGBEFbCSCCQAdm5fn/kyA0IJiQnOUm+7+fjkUdyvvPj5eF9vuc61/c65pxDRES8ISjQBYiISP1R6IuIeIhCX0TEQxT6IiIeotAXEfEQhb6IiIdUGfpmFmFmy8xsjZmlmtn/+JZ3MbOlZpZmZm+ZWVjdlysiIrVRnSv9YuBc59xAYBBwsZmNAB4BnnDOnQEcBKbWXZkiIuIPVYa+q1Tgexjq+3HAucC7vuUvAxPrpEIREfGbavXpm1mwma0GsoA5wFbgkHOuzLdJBhBfNyWKiIi/hFRnI+dcOTDIzFoDs4Be1T2BmU0DpgFERUUN7dWr2ruKiAiwYsWK/c65WH8cq1qh/x3n3CEzmwuMBFqbWYjvaj8ByDzFPtOB6QDJyckuJSWlliWLiHiLme3w17GqM3on1neFj5k1Ay4ANgJzgUm+zW4EZvurKBERqRvVudKPA142s2AqXyTeds59bGYbgDfN7CFgFfBiHdYpIiJ+UGXoO+fWAoNPsjwdGFYXRYmISN3QHbkiIh6i0BcR8RCFvoiIhyj0RUQ8RKEvIuIhCn0REQ9R6IuIeIhCX0TEQxT6IiIeotAXEfEQhb6IiIco9EVEPEShLyLiIQp9EREPUeiLiHiIQl9ExEMU+iIiHqLQFxHxEIW+iIiHKPRFRDxEoS8i4iEKfRERD1Hoi4h4iEJfRMRDFPoiIh6i0BcR8RCFvoiIh1QZ+mbWyczmmtkGM0s1s7t8yx80s0wzW+37GV/35YqISG2EVGObMuBXzrmVZtYCWGFmc3zrnnDOPVp35YmIiD9VGfrOuT3AHt/f+Wa2EYiv68JERMT/TqtP38w6A4OBpb5Fd5jZWjObaWZt/FybiIj4WbVD38yaA+8Bv3DO5QF/A7oBg6h8J/DYKfabZmYpZpaSnZ3th5JFRKSmqhX6ZhZKZeC/5px7H8A5t885V+6cqwD+Dgw72b7OuenOuWTnXHJsbKy/6hYRkRqozugdA14ENjrnHj9medwxm10BrPd/eSIi4k/VGb1zFnA9sM7MVvuW3Qdca2aDAAdsB26pkwpFRMRvqjN6ZyFgJ1n1qf/LERGRuqQ7ckVEPEShLyLiIQp9EREPUeiLiHiIQl9ExEMU+iIiHqLQFxHxEIW+iIiHKPRFRDxEoS8i4iEKfRERD1Hoi4h4iEJfRMRDFPoiIh6i0BcR8RCFvoiIhyj0RUQ8RKEvIuIhCn0REQ+p19Dfl1dEcVl5fZ5SRESOUa+hn5VfzPinFrBsW059nlZERHzqNfQ7x0RRXFbB1S8s5t731pJ7pLQ+Ty8i4nn1GvotIkL44pdjmTa2K++syOCCJ+bxTdr++ixBRMTT6v2D3MiwEO4b35vZt59F84gQpry4lEc/30RZeUV9lyIi4jkBG73TL74VH985mslDE3hmbhrXTF9CxsEjgSpHRMQTAjpkMzIshD9PGshTPx7Epr35jH9qAV9t3BfIkkREmrQGMU7/8kHxfPLz0XSKjmTqyyk89sUmyitcoMsSEWlyGkToAyTFRPHez0ZxTXInnv53GjfOXMaBguJAlyUi0qRUGfpm1snM5prZBjNLNbO7fMujzWyOmW3x/W5T22IiQoN5ZNIAHrmqP8u25zDh6YWsz8yt7WFFRMSnOlf6ZcCvnHN9gBHA7WbWB7gX+Mo51x34yvfYL645M5H3fzaKIDMmP7+YORvUzy8i4g9Vhr5zbo9zbqXv73xgIxAPXA687NvsZWCiPwvrF9+KWbePokf75kx7NYUZC9JxTv38IiK1cVp9+mbWGRgMLAXaO+f2+FbtBdqfYp9pZpZiZinZ2dmnVVy7FhG8OW0kF/ftwEOfbOT+2es1nl9EpBaqHfpm1hx4D/iFcy7v2HWu8hL8pJfhzrnpzrlk51xybGzsaRfYLCyYZ38yhFvO7so/l+zkl2+v0cgeEZEaCqnORmYWSmXgv+ace9+3eJ+ZxTnn9phZHJBVV0UGBRm/uaQ3bSLDePhf39I8PJg/XtEfM6urU4qINElVhr5VJuuLwEbn3OPHrPoQuBF42Pd7dp1UeIxbz+5GQVEZz8xNIyoshN/+qLeCX0TkNFTnSv8s4HpgnZmt9i27j8qwf9vMpgI7gKvrpsTj/erCHhQUlzFj4TZaRIRy1/nd6+O0IiJNQpWh75xbCJzqcvo8/5ZTNTPjdxP6kF9UxhNfbiameRjXjUiq7zJERBqlBnNH7ukICjIeuao/Y3vE8sdPN7L7UGGgSxIRaRQaZegDhAQH8YeJ/ahwjv/5KDXQ5YiINAqNNvQBOkVHctd5Pfg8dR9f6q5dEZEqNerQB5g6ugvd2zXngQ9TOVJSFuhyREQatEYf+mEhQTw0sR+Zhwr561dpgS5HRKRBa/ShDzC8awyThyYwY0E6m/flB7ocEZEGq0mEPsBvxvemeUQIv35vLaWan0dE5KSaTOhHR4Xx+8v7sWrnIf7y+aZAlyMi0iA1mdAHuHRgR64fkcT0+el8kbo30OWIiDQ4TSr0Af57Qm8GJLTiV++sYeeBI4EuR0SkQWlyoR8eUjkVswG3vb6CotLyQJckItJgNLnQh8qbth67ehDrM/P43ez1lJTpg10REWiioQ9wQZ/23DauG2+nZHDhE/P4PHWvvm5RRDyvyYY+wN0X9eSlm84kJDiIW15dwTXTl7A241CgyxIRCZgmHfpmxjm92vHZXWN4aGI/tmYVcNkzi7j99ZWkZxcEujwRkXpn9dnlkZyc7FJSUurtfCfKLypl+vx0Xly4jeKyCiYPTeCu87sT16pZwGoSEamKma1wziX75VheCv3vZOcX8+zcNF5bugMz44YRSfxsXDdimocHujQRke9R6PvJrpwjPPnlFmatyqBZaDBTx3Tlp2O60DIiNNCliYgcpdD3s7SsfJ6Ys4VP1u2hdWQot4ztxo2jkogMq85XCIuI1C2Ffh1Zn5nLo19s4utN2bRtHsbPxp3BlOGJRIQGB7o0EfEwhX4dW7Ejh8e+2Mw3Ww/QoWUEt597BlcnJxAeovAXkfqn0K8n32zdz+NfbCZlx0HiWzfjznPP4KqhCYQGN+mRriLSwCj065FzjgVb9vPYnM2s2XWIxOhIfn5ed64YHE9wkAW6PBHxAH+Gvi5Zq2BmjO0Rywe3jWLmTcm0bBbCf72zhouenM+/1u3R1A4i0qgo9KvJzDi3V3s+umM0f5syBOccP3ttJZc9s4j5m7MV/iLSKCj0T5OZcUn/OD7/xVj+MmkAOYdLuGHmMiY9v5gFWxT+ItKwqU+/lorLynl7+S6e+3ore3KLGJLYml+c34Mx3dtipj5/Eam9eu3TN7OZZpZlZuuPWfagmWWa2Wrfz3h/FNMYhYcEc/3Iznx99zgemtiPvblF3DBzGZOfX8zirQcCXZ6IyHGqvNI3s7FAAfCKc66fb9mDQIFz7tHTOVlTvNI/0XdX/s/MTWNfXjGjusXwqwt7MDQpOtCliUgjVa9X+s65+UCOP07mBd9d+c+7+xzun9CHzfvyuepvi7lh5jJW7FAzikhg1eaD3DvMbK2v+6fNqTYys2lmlmJmKdnZ2bU4XeMSERrM1NFdmH/POdx7SS9SM3O56m+LmTJjCUvT1e0jIoFRrQ9yzawz8PEx3Tvtgf2AA34PxDnnbq7qOF7o3jmVIyVlvLZkJy/MT2d/QTFndm7DrWd345ye7QjSTV4i8gPq/Y7cE0O/uutO5OXQ/05hSTlvLNvJjAXp7M4tokf75twythuXDeqo6R1E5KQCfkeumcUd8/AKYP2ptpXjNQsL5ubRXZh3zzk8fvVADONX76xhzCNzee7rNA4eLgl0iSLShFVn9M4bwDigLbAPeMD3eBCV3TvbgVucc3uqOpmu9L/POcfXm7J5ceE2FqbtJyI0iCsGJ3DzWZ3p3r5FoMsTkQZAE641Ud/uzeMfi7Yza1UmxWUVjOwaww0jk7igT3tC1PUj4lkK/SYu53AJby7fyWtLdpJ5qJC4VhFcOyyRq4YmEN9aX+Iu4jUKfY8or3B8tXEfry7ZwYIt+zGD4V2iuXJwApf070ALfZeviCco9D1o54EjzFqVyaxVGWw/cITwkCAu7NuBK4fEM+aMtur+EWnCFPoe5pxj1a5DzFqZyUdrd3PoSCltm4dz2cCOXDE4nn7xLTXRm0gTo9AXAErKKpi7KYtZKzP56tt9lJY7OsdEcunAjlw6sCM9NPpHpElQ6Mv3HDpSwuepe/lozR6+2bqfCge941pyTXICEwfH0zoyLNAlikgNKfTlB2XnF/Ppuj28uyKDdZm5hIUEcVHfDlydnMCobm313b4ijYxCX6otdXcuby/fxQerd5NbWEpsi3AuHdCRiYM70j++lfr/RRoBhb6ctqLScv79bRazV2cy99tsSsor6BobxQ0jkpic3Imo8JBAlygip6DQl1rJPVLKZ6l7eHP5LlbtPESLiBB+fGYnbhzVmYQ2kYEuT0ROoNAXv1m58yAvLdrOp+v24Jzj/N7tuX5kEmd1a6spn0UaCIW++N3uQ4W8umQHby3fRc7hErq2jWLKiCTG9+9AXCtN/SASSAp9qTPFZeX8a91eXlm8nZU7DwGQGB3J8C7RjOgaw7m92tEmSsM/ReqTQl/qxaa9+SxM28/S9AMs257ju/s3jCevGczo7m0DXZ6IZyj0pd5VVDjWZBzinnfXkpZdwJ3ndueu87przL9IPQj4N2eJ9wQFGYMT2zD7jrO4akgCf/1qC9fNWEpWXlGgSxOR06DQl9MSGRbCo5MH8pdJA1i16yAXPDGfGQvSKS4rD3RpIlINCn2pkcnJnfj4ztEM7NSahz7ZyPmPz+Pjtbupz+5CETl9Cn2psTPateCVm4fxys3DiAoL4Y7XV3HFc9+weOuBQJcmIqeg0JdaG9sjlk9+PoY/TxrAvrwirv37Em6cuYz1mbnf21bvBEQCS6N3xK+KSst5ZfF2np27ldzCUs7v3Z7QYGN3bhG7DxWSV1jKf0/ow/UjkgJdqkijodE70mBFhAYzbWw35t9zDneccwZrMg6xeV8+LSNCOLdnO/rFt+L3H21g0978QJcq4km60pd6tb+gmIufnE9siwg+uH0U4SHBgS5JpMHTlb40Wm2bh/PIVQPYuCePJ+ZsCXQ5Ip6j0Jd6d17v9lw7LJEX5m9labpG+ojUJ4W+BMR//6g3idGR/L+315CVX8T+gmIyDh4hLSufguKyQJcn0mTp65IkIKLCQ3j86kFMfv4bhv3hq+PWxUSF8dyUIQzvGhOg6kSaripD38xmAhOALOdcP9+yaOAtoDOwHbjaOXew7sqUpmhoUhtenTqc1N25RIQGExEaTGiw8fS/05gyYykPXtaX6zS0U8Svqhy9Y2ZjgQLglWNC/89AjnPuYTO7F2jjnPt1VSfT6B2pjryiUu56YxVzN2UzZXgiD1zal7AQ9USKd9Xr6B3n3Hwg54TFlwMv+/5+GZjoj2JEAFpGhDLjxjO59exuvLZ0J9e/uJTDp+jnzy0s5fcfb2DlTr3RFKmOml4+tXfO7fH9vRdo76d6RAAIDjLuvaQXT14ziJQdB5n68nKKSo+fyTOvqJQbXlzKiwu3Melv3/Do55soKasIUMUijUOt3zO7yv6hU/YRmdk0M0sxs5Ts7Ozank48ZuLgeB6/eiBLt+Vwy6srjk7hnF9Uyo0zl7FhTx5P/XgQVw1J4Jm5aUx8dhHf7s0LcNUiDVdNQ3+fmcUB+H5nnWpD59x051yycy45Nja2hqcTL7t8UDwPX9mfeZuz+fkbq8g9UspNLy1nXUYuT187hMsHxfOXyQOZfv1QsvKLuOzpRby6eHugyxZpkGo6ZPND4EbgYd/v2X6rSOQkrjkzkcKSch78aAOLt/6bwyXlPHPtYC7u1+HoNhf27cDQpDbc/e5a7p+dypasAn43oQ8hwfoQWOQ7Vf5rMLM3gMVATzPLMLOpVIb9BWa2BTjf91ikTt10VhfuvaQXxWUVPPXjQVzSP+5728Q0D+fvNyQzbWxXXlm8g//4x3JyC0sDUK1Iw6QJ16TRKS2vILQaV+9vLd/Jb2etJykmkpk3nUlSTFQ9VCfif5pwTTytOoEPlV1C//zpcA4cLuHSpxfyeereOq5MpOFT6EuTNqJrDB/dMZrObaO45dUV/O9HGzSsUzxNoS9NXqfoSN65dSQ3jerMzEXbmPz8N+zKORLoskQCQqEvnhAeEsyDl/Xl+euGkL7/MOP/uoCP1+4OdFki9U6hL55ycb84PrlzDF1jm3PH66u45901HCnRVM7iHQp98ZzEmEjevXUkt5/TjXdWZDDhrwtZn5kb6LJE6oVCXzwpNDiIuy/qxWs/Hc6RknImPruIP326UV/gIk2eQl88bVS3tvzrrjFcNSSBF+anc+6jXzN7dSb1ef+KSH1S6IvntYkK45FJA5h12yg6tIrgrjdXc830JaTuVpePND0KfRGfwYlt+OC2s3j4yv6kZRUw4emF3PPuGrLyigJdmojfKPRFjhEUZPx4WCJz/2scPx3dhVmrMhn36Nc88+8tFJaUV30AkQZOc++I/IDt+w/zx0838sWGfbSJDOWGkZ25YWQSMc3DA12aeIg/595R6ItUQ8r2HJ6fl86XG/cRHhLE5OQErhuRRM/2LTCzQJcnTZxCXyRA0rLy+fv8bcxalUlJeQWJ0ZFc0Kc9F/Zpz9CkNpq7X+qEQl8kwPYXFPNF6j7mbNjLorQDlJRXEN+6GXed350rB8cr/MWvFPoiDUhBcRnzNmUzff5W1mTk0i02irsv6slFfTuo60f8QqEv0gA55/g8dS+PfrGZtKwC+sW35NphiUwY0JFWzUIDXZ40Ygp9kQasrLyC91dlMmNBOpv3FRAeEsRFfTtw5ZB4hiS1oWWEXgCkepxzPPXVFn55QU+/hX5NvxhdRE4hJDiIq5M7MXloAusyc3l3RQazV+/mwzWVUzknRkfSJ64l/eJbMjm5E+1bRgS4YmmoUnfn8eSXW/x6TIW+SB0xMwYktGZAQmvuG9+bJekHSN2dx4bdeaTuzuWz1L28MC+dey7pxZRhiQQFqf+/IamocBSVlRMZFriYfG9lBmF+HhSg0BepBxGhwYzr2Y5xPdsdXbZ9/2F++8E67v9gPR+syuRPV/anR/sWAaxSjjV9QTrPzU3jy/93Nu0C8G6stLyCD1fv5rze7fDntb7GlYkESOe2Ufxz6nAemzyQ9OwCxj+1gF++tZqP1+4mr6g00OV5Wml5BS8t2kZeURlPfeXf7pXqmrcpmwOHS7hqSIJfj6srfZEAMjOuGprAOb3a8dgXm/h03R5mrcokJMgY1iWaMd1jGZrUhgEJrYgIDQ50uQ3G4eIyDhWWEt+6WZ0cf86GfezLK6ZPXEveXL6Lm0d3oVts8zo516m8vyqDmKgwzu4Z69fjKvRFGoDoqDD+cEV//vfyfqzedZAvN2bx741ZPPLZtwCEBBl9O7ZkSFIbkpOiGZrUhg6tvPkB8MHDJVwzfTG7cgr56M7RnNHO/2H8yuLtxLduxj/+40zOefRrHv18E3+7bqjfz3Mqh46U8OWGLKaMSCRUffoiTVdwkDE0KZqhSdH8+uJe5BwuYdXOg6zYUfnzxrKdvLRoOwDxrZuR3LkNI7rGMLJrDEkxkU3+ZrCC4jJuemkZ2w8cITIsmDteX8kHt5/l13dBW/blsyQ9h19f3It2LSP4z7FdefLLLazceZAhiW2qfRznHPfNWs/2/YeZNDSB8f3jaBZWvTo/WruHkvIKv3ftgMbpizQqpeUVbNidR8qOg6zccZBl23PIzi8GIK5VBCO6xtA/vhV9Orakd1zLKm8KK69wOOcaxbQRRaXl3DhzGSk7DvL8dUMJCTb+46XlXDcikYcm9j9u2+/mSLphVBJ9O7Y6rfP8bvZ63ly+iyW/OY/oqDAOF5dx9l/m0jW2OW9NG1HtF9anv9rCY3M2E9sinOz8YlqEh3DpoI5MGZ5YZU1XPLeII8XlfPaLMZiZX2/O0pW+SCMSGhzEwE6tGdipNVNHd8E5x9bswyxOP8CSrQdYsGU/s1ZlHt0+vnUzBiS0YpBvnwEJrcgrLGP+5mzmbclmUdp+Kioc149M4qZRXYht0TCnjC4pq+Bn/1zBsu05PHnNIC7o0x6AaWO7Mn1+OqO6tWV8/zicc7yzIoMHZqdSWFrOrNWZ/G5CH6YMTzwurMvKK/jq2ywSoyPpHdfy6PKC4jLeX5nJhP5xREeFARAVHsJd53Xn/tmpfL0pm3N6tTt6jD25RcS3bva94bZfpO7lsTmbuWJwPI9NHsjy7Tm8lbKL91dm8MaynVw3PIm7L+550hv1tmYXsGrnIe4b36tO3rnV6krfzLYD+UA5UFbVK5Gu9EXqlnOO7PxiNuzJY+OefFJ357I2I5edOUcACDKo8P2Tj20RztjusRwuLuPzDXsJDQ5i8tAEpgxPok1UKKHBQYQGBxEeEnRa3ScHCorJOVxC57ZRte6PLq9wzNucxQvz0lm6LYc/XtGfnwxPPLq+pKyCyS8sJj2rgLdvHcnz87Yye/VuRnWL4f4JffjTv75l/uZsJgyI409X9sfMeNPXRZZ5qJCwkCD+eEV/Jg2t7EZ5dfF27p+dyqzbRjH4mK6c0vIKLnh8HkFBxsiuMazfnce3e/IoLqugf3wrHri0D8mdowHYtDefK59bxBntmvPWLSOPa7u8olKenLOFf3yzjbbNw/mfy/pycb/j52h69PNNPPd1Gkt+c97RoaINZhoGX+gnO+f2V2d7hb5IYBwoKGZNxiFW78olKiyYsT1i6dXh/74LYGt2AX+fn877KyunjD5Rrw4tGN4lmuFdYxjWJZq2J/kSma3ZBcxYkM57KyqPERpsdIttTs8OLejVoSW94lrQJ64l7VqEV3kFm51fzNspu3h96U4yDxUS2yKcX57f47jA/86unCOM/+sCCorLMOCX5/fgtnPOIDjIqKhwPD9/K499sZkOLSPIKywlv7iMYZ2juX5kEm8s28k3Ww9w48gkfvujPvzorwuICA3mwzvO+l6Nn63fy63/XEGLiBD6dmxJ346taNcinJcWbWdvXhGXDuzIrWd35dZ/rqC4tIIP7xh9yg/b12Yc4t731rFhTx5nnRFDn7iWREeFEx0VylNfbqF7+xa8fPOwo9sr9EWkTmTlFbEwbT8lZRWUlldQUu7IKyw9+kFyYWnlV0bGtYrgjHbN6dG+BV3aRjF/czZzNu4jLDiISUMTGJrUhs37Cti0N49Ne/PZnft/3zPcJjKU/gmt+cmwTlzQpwPBx3SN5BWV8vzXW3lx4TaKyyoY1S2G60YkcUGf9j/4ruHLDft4em4avx3fm2Fdor+3ftm2HH7/8QYSYyL5zzFdGdSpNVDZRfPwv75lxsJtnNGuOWlZBfz5qgFcfWank57n4OESWkeGHveCcKSkjOe/3soL89MpLqsgLCSIt6aNOO6dwsmUlVcwc9E2Xl2yg+z8YopK/+/F9tmfDOFHA+KOPm5Iob8NOAg44AXn3PQf2l6hL9J4lZZXsC4zl+Xbcti0N5/NWfmkZRVQVFpB62O+SvJk7wJyj5Ty7d48Nvq6nRZt3U/GwUK6tI3ip2O6cNnAjry/MpOnvtpCzuESJg7qyJ3nda+3sfGzV2fy6/fWEh4SzJLfnFftUTbHyjh4hGfnbuXsHrFc3K/Dae9fWFJOzpESCkvK6Bbb/LgXloYU+vHOuUwzawfMAe50zs0/YZtpwDSAxMTEoTt27KhNvSLSgFRUOHbnFhITFX5aQVlWXsFnqXuZPj+dtRm5BAcZ5RWOkV1juG98b/onnN6IG39Iz658AevTsWXVG9ezBhP6xx3I7EGgwDn36Km20ZW+iBzLOceS9Bw+Wbeb83q1Z1zP2CZ/r0FNNIghm2YWBQQ55/J9f18I/K8/ihIRbzAzRnaLYWS3mECX4hm1GaffHpjle1UOAV53zn3ml6pERKRO1Dj0nXPpwEA/1iIiInWs4d97LSIifqPQFxHxEIW+iIiHKPRFRDxEoS8i4iEKfRERD1Hoi4h4iEJfRMRDFPoiIh6i0BcR8RCFvoiIhyj0RUQ8RKEvIuIhCn0REQ9R6IuIeIhCX0TEQxT6IiIeotAXEfEQhb6IiIco9EVEPEShLyLiIQp9EREPUeiLiHiIQl9ExEMU+iIiHqLQFxHxEIW+iIiHKPRFRDykVqFvZheb2SYzSzOze/1VlIiI1I0ah76ZBQPPApcAfYBrzayPvwoTERH/q82V/jAgzTmX7pwrAd4ELvdPWSIiUhdCarFvPLDrmMcZwPATNzKzacA038NiM1tfi3NWRysgt473rWq7H1p/qnUnW37ishMftwX2/2CltdcY27Mmy+qjLU9Vh7/3q2l76rlZs+3qoz17VlFD9TnnavQDTAJmHPP4euCZKvZJqen5TqOu6XW9b1Xb/dD6U6072fITl53ksdqzGu1WnWX10Za1ac/T2a+m7annZs22a2ztWZvunUyg0zGPE3zLAu2jeti3qu1+aP2p1p1s+YnLavPfVlONsT1rs6yu1fScp7NfTdtTz82abdeo2tN8ryKnv6NZCLAZOI/KsF8O/MQ5l/oD+6Q455JrdEL5HrWn/6gt/Uvt6V/+bM8a9+k758rM7A7gcyAYmPlDge8zvabnk5NSe/qP2tK/1J7+5bf2rPGVvoiIND66I1dExEMU+iIiHqLQFxHxkAYT+maWaGYfmNlMzeNTO2Y2xsyeN7MZZvZNoOtp7MwsyMz+YGZPm9mNga6nsTOzcWa2wPccHRfoeho7M4sysxQzm1Cd7f0S+r6gzjrxbtvTnJCtP/Cuc+5mYLA/6mqM/NGWzrkFzrlbgY+Bl+uy3obOT8/Ny6m8D6WUyhARKu8AAAIRSURBVDvPPctP7emAAiACD7enn9oS4NfA29U+rz9G75jZWCr/J77inOvnWxZM5Tj+C6j8H7scuJbK4Z1/OuEQNwPlwLtUPiFedc69VOvCGiF/tKVzLsu339vAVOdcfj2V3+D46bl5M3DQOfeCmb3rnJtUX/U3NH5qz/3OuQozaw887pybUl/1NyR+asuBQAyVL6D7nXMfV3Xe2sy9c5Rzbr6ZdT5h8dEJ2QDM7E3gcufcn4DvvQ0xs/8CHvAd613Ak6Hvj7b0bZMI5Ho58MFvz80MoMT3sLzuqm34/PX89DkIhNdFnY2Bn56b44AoKmc6LjSzT51zFT90Xr+E/ilUa0K2Y3wGPGhmPwG212FdjdHptiXAVDz6wlkNp9ue7wNPm9kYYH5dFtZInVZ7mtmVwEVAa+CZui2t0TmttnTO/RbAzG7C9w6qqhPUZeifFufceioncRM/cM49EOgamgrn3BEqX0TFD5xz71P5Qip+4pz7R3W3rcvROw11QrbGSG3pX2pP/1J7+k+dt2Vdhv5yoLuZdTGzMODHwId1eL6mTG3pX2pP/1J7+k+dt6W/hmy+ASwGeppZhplNdc6VAd9NyLYReLsaE7J5ntrSv9Se/qX29J9AtaUmXBMR8ZAGc0euiIjUPYW+iIiHKPRFRDxEoS8i4iEKfRERD1Hoi4h4iEJfRMRDFPoiIh6i0BcR8ZD/DxBilSU3fw4NAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.semilogx(history.history[\"lr\"], history.history[\"loss\"])\n",
    "plt.axis([1e-8, 1e-4, 0, 30])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "4uh-97bpLZCA"
   },
   "outputs": [],
   "source": [
    "# 搭建双向LSTM神经网络，对学习率不作处理\n",
    "tf.keras.backend.clear_session()\n",
    "tf.random.set_seed(51)\n",
    "np.random.seed(51)\n",
    "\n",
    "tf.keras.backend.clear_session()\n",
    "dataset = windowed_dataset(x_train, window_size, batch_size, shuffle_buffer_size)\n",
    "\n",
    "model = tf.keras.models.Sequential([\n",
    "  tf.keras.layers.Lambda(lambda x: tf.expand_dims(x, axis=-1),\n",
    "                      input_shape=[None]),\n",
    "   tf.keras.layers.Bidirectional(tf.keras.layers.LSTM(32, return_sequences=True)),\n",
    "  tf.keras.layers.Bidirectional(tf.keras.layers.LSTM(32)),\n",
    "  tf.keras.layers.Dense(1),\n",
    "  tf.keras.layers.Lambda(lambda x: x * 100.0)\n",
    "])\n",
    "\n",
    "\n",
    "model.compile(loss=\"mse\", optimizer=tf.keras.optimizers.SGD(lr=1e-5, momentum=0.9),metrics=[\"mae\"])\n",
    "history = model.fit(dataset,epochs=100,verbose=0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 393
    },
    "colab_type": "code",
    "id": "icGDaND7z0ne",
    "outputId": "58b69d1a-82d2-457b-9342-42ceb24b35da"
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAmQAAAFzCAYAAACQKhUCAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nOy9d5xcV3n//7lt6vaVdtWLJfeKEdiYJgwxLWB6IKF8CQktlB81EJKQBEggpBAIxIFAbEoopoPBBduyXHGTZVvN6tJqi7R1dvot5/fHuefcc+/cGa1WW2ZXz/v10mtXM7Mzd9q9n/t5nvN5NMYYCIIgCIIgiPlDn+8NIAiCIAiCONMhQUYQBEEQBDHPkCAjCIIgCIKYZ0iQEQRBEARBzDMkyAiCIAiCIOYZEmQEQRAEQRDzjDnfG3A6LFmyhK1bt27WH6dQKCCbzc764xAzC71vCxN63xYm9L4tXOi9mzseeeSRYcbY0rjrFrQgW7duHR5++OFZf5wtW7Zg8+bNs/44xMxC79vChN63hQm9bwsXeu/mDk3TDte7jkqWBEEQBEEQ8wwJMoIgCIIgiHmGBBlBEARBEMQ8Q4KMIAiCIAhiniFBRhAEQRAEMc+QICMIgiAIgphnSJARBEEQBEHMMyTICIIgCIIg5hkSZARBEARBEPMMCTKCIAiCIIh5hgQZQRAEQRDEPEOCjCAIgiCIM5p79g7jqaHJed0GEmQEQRAEQZzRfOAH2/Dt+w/N6zaQICMIgiAI4ozGYwyGps3rNpAgIwiCIAjijMbzGDQSZARBEARBEPOHxwCdBBlBEARBEMT84TEGY54V0aw9vKZp39I07bimaU8ql31R07TdmqY9rmnazzRN61Cu+6Smafs0TdujadqLZ2u7CIIgCIIgVFyPLWqH7HoAL4lcdhuAixhjlwB4CsAnAUDTtAsAvBHAhf7ffE3TNGMWt40gCIIgCAIAwBig64tUkDHGtgIYjVx2K2PM8f/7AIBV/u/XAvgBY6zCGDsIYB+AZ87WthEEQRAEQQg8xjDPegzmPD72nwL4of/7SnCBJujzL6tB07R3AngnAPT29mLLli2zuImcfD4/J49DzCz0vi1M6H1bmND7tnCh946XLI8cOYItWwbnbRvmRZBpmvYpAA6A753q3zLGvg7g6wCwadMmtnnz5pnduBi2bNmCuXgcYmah921hQu/bwoTet4XLmf7eMcbAbv4Nzlq3Dps3nzNv2zHngkzTtP8H4A8BvJAxxvyLjwFYrdxslX8ZQRAEQRDErOH5SmQxN/XXoGnaSwB8HMArGWNF5apfAnijpmlJTdPWAzgbwINzuW0EQRAEQZx5eL43tGh7yDRN+z6AzQCWaJrWB+DT4KsqkwBu8xNxH2CMvZsxtkPTtB8B2AleyvwLxpg7W9tGEARBEAQBKIJsnhXZrAkyxtibYi7+ZoPbfw7A52ZrewiCIAiCIKJ4Hv95RpUsCYIgCIIgmgnhkC3apH6CIAiCIIhmJ+ghI4eMIAiCIAhiXhAlS40EGUEQBEEQxPwgS5bzvMqSBBlBEARBEGcsbpOssiRBRhAEQRDEGQv1kBEEQRAEQcwz7ExM6icIgiAIgmgmXK85kvpJkBEEQRAEccbSLEn9JMgIgiAIgjhjoaR+gpgDfvTwUfzP3Qem9bcTJRsf//F25CvODG8VQRAE0SxQUj9BzAE3PT6Anzx6bFp/++iRMfzo4T48eWxihreKIAiCaBZolSVBzAEeY6g67rT+tmJzH7vqeDO5SQRBEEQTIQQZJfUTxCziegyVaQqqii/kbJcEGUEQxGLFX2QJgwQZQcwejsem7XAJIUcOGUEQxOKFYi8IYg7wPIZqA4fr9dfdh19u74+9TgoycsgIgiAWLRR7QRBzgMvqO2Sex/DQoTHs6I9v2q/YvGRJDhlBEMTihZL6CWIO8Br0kAnnSzTvRxF/Z7tsdjaOIAiCmHeoZEkQc4DjMbj+vyhSkNURbIFDNr1VmgRBEETzQyVLgpgDhBCLKzvaJ2naJ4eMIAhi8UM5ZAQxB4gvWpzoChyyeAeMmvoJgiAWPxR7QRBzgHDI4kSX7Yjr6jlk1NRPEASx2PGoh4wgZp9AkNV3yOqWLG1yyAiCIBY7LiX1E8TsI75ocaJKCLGTlSxtcsgIgiAWLSL2wqCmfoKYPTxfS8U29Z9slaUoWZJDRhAEsWih2AuCmAMcr77oOmnJUq6yJEFGEASxWKHYC4KYA9xGDpnT2CEr+zlk0x1OThAEQTQ/lNRPEHOAOPM5Nl7EHbuHQtdVpuyQUQ4ZQRDEYoVKlgQxB4gv2v/eewh//u1H5PJmQHXI6jT1i1WWlNRPEASxaGmWYFhzXh+dIGaJjX/1G7xgtSFLlicmK3A9hqrrIaUbAKYwOskXYuSQEQRBLF6aRZCRQ0YsGhhj+PrW/TgxWYHjMdx22JEO2UihCiA8SNyeYsmyUTDsk8cm8PEfbw85bwRBEMTCQey+9XlWRCTIiEXDU0N5/ONvduMt3/y9vMyNjE6quEH5sXqSpv6pjE66d98wfvRwHybLzultPEEQBDEvCIeMRicRxAxhGfzLtHtwEgCQNIIeMoHqkFX9UqTrMTgxoqtin3x0knTZKBqDIAhiQSKOE5TUTxAzhBMRX60JrUaQqcJJFVpxgmoqOWRC1Im8M4IgCGJhQUn9BDHDRIVTi1X75YrrIROX7xrI4YEDIwAAx/WkwJuKQyYGlRMEQRALi6Cpf363gwQZsWiIrobMWLW3USMuVKFVcTz8yy178NEbt8v/B/fLfy/bLrYfHccnfvI4brjvEL9uCn1mBEEQRPMS5JBR7AVBzAhTGXFUsl38bucQXnh+T+j2VcfDwEQZfWMlFKtOSJAJ4fbiL23F4ZEiAGBlRxpvu2pd4JCRICMIgliQyKR+KlkSxMwQFUVxlcY7dh3Hn337Yezoz4VcrYrjYihXBgDsP16QTpqha6i6DBXHxeGRIl5z+Upcc0EvSqLh33flSJARBEEsTFwqWRLEzBItWdoxGmk4XwEATJadUMkyX3FkVtm+E5Oy16wlaaLquBgr2ACATWu7cNHKdowWqijbruKQUQ8ZQRDEQoRiLwhiholGV8SJpPESF1aqmAKAvrGS/H3vUF6WLFtTJmyXYdQXa11ZC8vaUgCA47nKlEqWO/tzuHXH4HSeEkEQBDHLiMX4FHtBEDNEVBTFOWQTviAr2W7IITsyWpS/7zuelyXLlqSJquthrMgFWWcmgd52LsgGc+UpCbKvb92Pv/nFk9N4RgRBEMRs49FwcYKYWUQ/1/PPWYr2tBXbQzZRVB2ywEHrG+OCbE1Xxhdk/I/bUhZcj8lSZ3dLQjpkg7kyqs7Je8hyZQd5SvInCIJoSmTJkpr6CWJmECXLf7j2Qjx9bee0HLJnb1yCQyMFTJb57VpSfCHy4ARv+O/MJLDMd8iGJspT6iHLlx0Uqi7NuyQIgmhCKKmfIGYYIY4sQ4eha7BjBJDoIStVXVRdDwmDfwWOjBZh6hqeub4THgN2DfDxS62+IBvKVaBpQHvaQlvKRNoyplyyzPnirmi7dW9DEARBzA+U1E8QM4xwqSxDh6lrsSVLcSZUcTxUHU86YEdHS+hpTeKc3lYAwI7+CQC8hwwAhnJltKctmIYOTdOwrD01ZUGWr/ByZaFCZUuCIIhmg5L6CWKGeLxvHK/+2r1yJaRlaDDqCDJBqcpXWQrBBQA9bSlsWNoCTQO2H+WCrC3N4/6HcmV0ZRLytr1tSQxOlIMcsgajkyb9/rFJ6iMjCIJoOoIcMkrqJ4jT4m3fehBjRVs22wuHrFHHlughUwXZys40UpaB1Z0ZHBktorctibOWZAHwBn5x/wCwtDWFx/vGkU3wv7frDBdnjJFDRhAE0cTIpH7qISOI6VOoOBjzV06KlZGmocE0go+2+I5lE4a8TOSQiZIlAJzTw8uVZ/e0AABeeekKpCz+N0O5MjqzgUOWtvRwMGwdO65ku7JMSoKMIAii+XAp9oIgTp/bdx+XvwsnytK5QyZIWwZSlo50IhBfJdtFxfHQqjhk5/RyIbbR/3ntZSth+cLOdlmoZJmyDFQc76SrLNW4izwJMoIgiKajWWIvqGRJLGhG/HwwgDtQhq5B17XQF6s1ZYIxSHEFBA6ZcMAA4GxfiL35irVY2ZHGhSvacHyyLK9XHbKUZfD78EVetU5Tf04RZIUqCTKCIIhmg5L6CWIGcJVoi3zFgWXwL5TqkL1380Z85U1PQ9JUBZnHYy+Uy9Z2836x1V0ZvPVZ66BpGhJGINi6VUFm6ijbniyT1ltlqbpiFA5LEATRfHgem/dyJUCCjFjgMKVSWKg40gUz9OCjvW5JFlec1R0SX6WqC9thUsABYQctuCy4/unrOuXvSd9ZE31hTp2SpQiYBYB8hXLICIIgmg2PsXkvVwIkyIgFjqsosslyIMhMRUgZvg0dcsgcXrJURVoc6vWXruqQv4v7Kvlhr3UdMrVk6Yu3XQM5bPrs73DgRL7hYxMEQRCzj8vYvJcrAeohIxY4niLIKo6HjkxtyVKYZUkzKD+Wqjz2wjJ0/Oy9V6FHibRQEWdNLUkzdAal9p4B9XvIJmOa+j/50ycwnK/gkcNjOGtpy0mfI0EQBDF7MBacuM8nJMiIBQ2LVApNX32pgkxcljDDTf2ih+xpazpRj+6WJADgL196XujyqCCr55BN+iIskzBQqDiYKNp47Oi4fxl9/QiCIOYb6iEjiBnAjcyrFKJL7SEzpEOm9JDZ4VmW9VjZkcaOv38x3nLl2tDlKSv8dxMlB3/7iydDPWNA0EO2rC2FfMXB/QeG5XVVl3rKCIIg5huXsXkPhQVIkBELHC9ikQlnTO0hE1801SErVNyaKIx6ZJO1TlbKDDtkDx0cxbfvP4yHD42FLs+XHWQSBlrTFvIVB7lSUMKMjlv6ry378Zlf7zzp9hAEQRAzB2OA3gQWGdVMiAWN5zFoGpAwdFT8njAgHPAnfhcOWdoyZD/XyZr66xEtWY6X+BzNyUj462TZQWvKRGvSRKHihK6vRMqc9+0fxuBEGQRBEMTc4TZJyZIEGbGg8Rh3wBKmL8jM2h4yIciE+OrKJnBsvARgag5ZHMlIybJsc3ElSpTv//42XLa6A/mKg5akiWzSwInJSqikGR23VKq6ctUmQRAEMTd4TVKyJEFGLGg8xmBoGpKmgUk4sPTaVZaBQ8ZdrY6MJQVZJmFgOkRLloJ82cF4sYpfbe/Hr7b3oyVp4sIVbcgmTeQrTigGI7oys1h1USZBRhAEMad4TVKynLUeMk3TvqVp2nFN055ULuvSNO02TdP2+j87/cs1TdO+rGnaPk3THtc07fLZ2i5iccHzY4JypCxZKs5XNIesS0ncX+en858q0aZ+wWTZwc7+nHy8Tes68ZlXXYSWpIlC1cFk2ZGJ/1GHrGy7KFVJkBEEQcwlZ8Iqy+sBvCRy2ScA3M4YOxvA7f7/AeClAM72/70TwH/N4nYRiwjmlyxFCdGMGZ0ULVl2KEPCN/RMV5DVccgqDp7snwAA3P/JF+L6tz8T5/S2oiVpIl92MFmx0Z6xoGm1DlnJ5iVLFs3yIAiCIGYNUWmZb2ZNkDHGtgIYjVx8LYAb/N9vAPAq5fJvM84DADo0TVs+W9tGLB5cj4+8EOXIRMOmfn6bzowlr1vq54ydKtEeMkGubOPJYzmsaE+FnLjOTAKOx9A/XkZrykLC0GMFmcfqh8wSBEEQM4/H5n+wODD3sRe9jLEB//dBAL3+7ysBHFVu1+dfRhAN8SIlyziHLBp70ek7ZKauTftLWNchK3OH7MKV7aHLu1v4Yx4ZLaI1aXJB5tT2kAFAuRovyHYN5JCL5JwRBEEQp4fHGPQmCAGbt6Z+xhjTNO2UazOapr0TvKyJ3t5ebNmyZaY3rYZ8Pj8nj0OcOkePVuC5Dkp53rc1NjKMLVu24Kn+oHn+wd8/gP1pHUcPcTEz3H8YANCZxLTfV0cJpLV0wF9kiQP9J3Bw3MPFbdXQffed4NszWqiiPDkGMBeHjvRhy5YTGCl5aLE0KdDu2Ho3OlO1e4f3/K6Al6yzcO3GRM11iwn6vi1M6H1buJzp793AYBnVsjfvr8FcC7IhTdOWM8YG/JLkcf/yYwBWK7db5V9WA2Ps6wC+DgCbNm1imzdvnsXN5WzZsgVz8TjEqXP7+JNIjgygZ0kb9owNY9XyZdi8+TIUnxgAHn8UAPDcZ/NZlUMPHcH/7X4Cl15wHr6363FsWN6JzZufNa3HZYxBv+038BjQkrIwVuRi73hZB4OH5zztfGzeFHyku/sm8G+P3AMAWL9qOfpKw1jSswRf3V3AQ4fG8OYr1wA4AgC4bNMVWL8kW/N4pZt/g+5lq7B58wXT2uaFAn3fFib0vi1czvT37sf9j+K4nZv312CuTbpfAnib//vbAPxCufyt/mrLKwFMKKVNgqgLz48J+sNEydIIDRfnv7/s4uX46h9fjnOXtQIAXnzhsmk/rqYFfWvqTMqcH2vRGxlW3tUSuFqtKQsJU0eh6uAhP9l/3/G8vD5upaXtMv8n9ZcRBEHMJIs+qV/TtO8D2AxgiaZpfQA+DeDzAH6kado7ABwG8Ab/5r8B8DIA+wAUAbx9traLWFyIQD/RZC9iL0KrLP0+sdaUhZdfwteK/O7Dz8eGpdNbYSlIWTpKtotssrafLCrIupUG/5aUCcvQQmOUjk9W5O9x4bBCiFHDP0EQxMwiTuznm1kTZIyxN9W56oUxt2UA/mK2toVYvHieH3sRzSFTBZlR+03b2NNy2o/NG/vtkEMm6G1L1tw2kzBQrLq8qd80Qg36J3KBIIsLh5WCzDl52+WjR8Zw3rLW2O0iCIIgwvDRSfOvyJpgXQFBTB+PhWMvLLnKsjYYdqYRKy2jaf8JU0d72qq5vYjBaE2ZSBgacqVAkKkzLhuVLE/mkBWrDt5w3f248eG+KT4LgiCIMxsxgm++IUFGLGiiSf1mgxyymUY8ZtSJ6m1LxsZpiLJlS8pEwtQx6febtSbDf19s4JBF0/2jlG0PjscwVqxO8VkQBEEsfhzXq4kaEjRL7EUTbAJBTJ9oUr8oWVpGbQ7ZTCMcMtFDJhyw3tZU7O0Dh8yCZeiyZLm0NVzeLMc4ZM4Um/rF9UUawUQQBCH54q178KZvPBB73aJP6ieIuUAm9ftCLBGzytKcJYdMzLMUJcseX1hFG/oFXVl+fUuSO2SiDBkVZHFN/dUpNvWLM8Bi1Wl4O4IgiDOJvrES+saKsdedqUn9BDGjyKR+S8ReiFWWwUd7tpYzR2MvhBDraYsfxyTS+ttSpnTygKkJMscTTf21gqxsu7hlxyAAxSGrkENGEAQhqDoeKvVKlmfAcHGCmHUY40379VZZzlb/GBA4ZFnfIVvmC7L6Dlm4h0xQI8jimvqd+k39X7h5N971nUfw0KFROUGgQA4ZQRCEpOp4qNj1e8hm81gxVWhdPLGgEcuVA0Hmr7IUpctZtKHlKku/KX/90iwSho6z60RqvPjCZTgxWUFva0oOQQeAnkjPWWzshe+QxfWQDed5A/+xsRLS/japPWSlqouq68Wu/CQIgjgT4A6ZC8ZYTXnS9Wovmw/IISMWNMFwcRF7EQ6GnVWHzDSgaUDKF4NrujK4/5NX4+rzemJvv35JFn/zhxdA17WQIFMdstakGR8M64hVlrU5ZO1pLghzZTu2qf8LN+/GW7/14Kk+PYIgiEVD1fXgsfAcYoGotMw3JMiIBY3MIbPCQkz0kM12ydIydFhm0Nzf3RIfeRFFLVmKxQAJQ0dLyowtWYqdSFzJsi3Fna+Joi0XChSUXLPhfAXDyiQAgiCIMw3RfxvXR9YssRdUsiQWNCLQTzhOQuiIdP7ZbAu44qxuDBeq0pXLJqf+dVKb+sUigJSlI20ZjVdZxuxMWlL8cSdKNhz/dup9uB6DG3NWSBAEcaYgqgcV20VLZF/tMkrqJ4jThp/ZqA5ZxCkzZu8jLoaVi7410b81FVSHrNuPw0gnDKQTRmwPmdMgqZ/5WitXtuX1hUpYkMXZ9ARBEGcKjR0ySuoniNPG9ZcrR0cniVLlXHzJLl7ZjsvXdGBtd2bKfyPy0lKWjja/ByyTMJG2DBQqbk3ZUib1xwgysaOZKAUly5KyypILMhpKTpw6FcfF9fceJIeVWPBUGgkyir0giNNHJPWn/egJmUcmm/pnfxs29rTip+99NlpTU1/FKByylGUgaRpImDpSFnfI7j8wgmd/4Y5QebLR6CRx3WihGjT12y48/yDqMgbXDQ6oxaqDT//iydBwc4KI4779I/i7X+3E9r7x+d4UgjgtRPWg4tRWIJol9oIEGbGgcT0+8uLSVR347KsuwrPO6gagzLRsAhs6DtFDJsqcbSkTaUuXTt9ooYojowV5+0bDxUU5ciQfCDLGgLK/44mWLB87Mo4b7j+Mhw6OzvTTIpqMLXuO47Gj0xdTYoxXvfwm4sxlZ38OO/on5nszpowsWcZ8limpnyBmABF7Yega3nzlWuk8SYfMmP8vWRyqQwbw+ZbphIHDI4EI2zuUl78HJUsGxsLlI7GjGc5XpHADguiLaMmy4F+er1B47GLnczftwtfu3DftvxflnZON7CLOPD5700585tc7T/nv9gxO4v3f3yYXIM0VDXvIqGRJEKcPq9OMKZP6m+CsJw7hkIlA23N7W7FhaUuojLj3eCDI1J1X9OAoxFqu7IRmWIrxSU7EIRORGCTIFj9lx0W5zriYqVB16pfKiTObfMVBaRrO6e8PjuBX2/tloPVcsRBKlhR7QSxoXMaQiAmQEUJstuZYni7CIRO9b9e95ekAgDc+Yw32Hp/EF2/Zg32KIKsqzpftMqirth3lusGJsvxdjE/yPAbG/LNAXZOX58skyBY7VceLXbU7VcTBixyy5uGDP9iGq8/rwbWXrZzX7Sjbbmhm8FQR+6u4BUqzhRr9E1eydGPS++cDcsiIBY0oWUbRdQ0agtJlsyFy01JmOCrjghVtuPaylTi7pwW/3N6PS//+VvSPl8IOmRPvkAHAYC4QZLJk6Zc45ZxLcsjOGCoNBipP9e+BuT14Eo353c4hPHRoav2fjuvJxT0zTcl2p7V6WwijuYriOTZewvHJYL8Y931olqR+csiIBY3n1beaDa05smXiCHrI4s+JlrXz+ZYTJRsHhwuhA2L04Ki6F2oZQJQvgx2ghwR0mVE2SQ7ZoocPVD4dh6x+3w0xP9guC7nijXj11+7Di87vxQdfdPaMb0fZ9qbnkIn90RyJ/Hd/5xGs6AjmBdcrWTbDuTs5ZMSCplGgn6HP7uik00GuskzEh8k+Z+NS+Xuh4oSa9Rs5ZJNKD5oQXtEzUuGQFcghW/SQQ7a4YIyh6npTLiEfHSvisLJaeyYpV93YySEnw/XmdqHIcL6CgYnGDhnPs5z/YwUJMmJB4zZYHaNrzSvIpENmxguyl128DL9633MA8F4wu0FTv+MyWZpV+8JKdtghE1lktMryzMBxPbgeO02HzO8hI4esKRAnVfYUHTL7NAV5I8qOOy2hHjhkUy9ZqouVTpVCxcFYMagcxH0fGGuOfmMSZMSCxmswg8xoYkEmJgok64xb0jQNve18pFK+7IT6LeJKlq3+PEu1DBl1yGxPjFWiHrIzASHcT2eVpWiAJoesOWgUEB1/+9MT5PVwXA+2y6b1uVBbKKbCjv4JXPx3t+Lg8PScvmLVxXgxqBzUd8imdfczCgkyYkFTL/YC4Jc3Q6NmHCLuotH8y9YkT/7PV8KlgbiSpZgSMFm25SKHUjUsyMRPcbZJPWTNw+8PjODQNA849QiCMKd/QG401J6YGwYmStj8xTtxdLQYxJBMQQiJ8mZ5FkJ9hcg/FZdLcKouX99YCa7HcGS0eMqPVXU8OB4L7eviZ1lSyZIgThu3QX6MoTWHDR1HwuBCrF5Tv7hO14B8xQ6dTUZ3xo7L0OLnYBSqLloS4ne/ZMnCJYI8OWRNx0du3I7/PI0A1zjEgWcmHLLqNA68xMxw4EQBh0aK2DM4GQjkKQgyIXzimthPF3GyN50+MPcUS5YitmU6MT1xpc74pv7mOFaQICMWNPViLwDeQ9assReWyberkUOmaRpakiYKFRe2ozb1h3dktlKyBHgZNG0ZMvZC7PgCh2z6OzhidijbLnKlmZ0tKtwU12PTXtFGPWSzzy+392MkX6l7vXjt88rinqk4ZOI2s+KQ+SIpuh3D+Qpe+1/3oX+8VPdvZQ7ZFEuW4sRichqzd0W/bOj+lNejUHHwki9txXC+QiVLgjhdvAarY8wmXmUpc8gaCDKAj1SaLDdu6q+6LCTIEoaGTMKQZ4ceC/ds5GmVZdNhu0w6mjOF6gRM1yWjVZazy0TJxge+vw0/f6y/7m3E932ybMvesamU+8RJ3OkEA5dtF7fvGoq9HODOkqv0t+4ayOGRw2N44lj9GZdileVUHTJRcp9Oi0Up1iELPst9YyXsHpwE0Bw5ZCTIiAWNx+qLLr2Jc8gso3EOmSCbNHjshdrU70RLlh4Spi5XblqmjkzSCI1OUn+Ky/NVZ9ZCI4lTw3Y95CszW1pSDzzT7SMT7gw5ZLODKP01KiuK136yEpyYRQXyHbuH8JIvbQ33mspRQdN/727bOYR33PAwjkb6t1TXTd0WcZLXyO0Nesimtl3isSaneAKZK9t45X/eg539ObmwSUV9rceV1ZeU1E8Qp0mjkmUzr7LsbUvh6vN6sGldV8PbtSRNXqqI2dEKbNeDZehIKYPVM5YZGp0EBGekYqfJGFCchRVYxKlju96MO5YhQTZthyy+NEXMDMJpauQWyZJl2am7yOIdNzyM3YOToUT6oGQ5/e94vQVAJeU+w4KMX55r4Ga5pyzIhEM2tZLlvuN5PN43gSeOjce6zup3YVwRjs1w8k6CjFjQeB6razUvy+pYvyQ7x1s0NRKmjm/9v2fg/OVtDW+X9QWZ43my3yy6I7NdxgWZf71l+A5ZtdYhY4yXxpa0JABQH1kzwBjjJcsZFmTqQXu6B+UKOWSzSkWuVuQ/Hzs6jseOjoduI77vag9ZdOyQ35UQEhszIcjEYo6y44Ixhn+5ZQ/2n8iH7lMtnwoB1Mghk89hquQDReIAACAASURBVCVLRZAK3vLN3+M/frc39vbHc7wfb7LsSAdSoGnhHrIJJQ7DaAI11ASbQBDTp1FS//uelsLf/OEFc7xFM0triguyqsuQTXLBFRd7YRmaFGQJU0c2YUpB5snYC74E3mNATysfJZKvzGwjOXHqiIPrTK96nRGHTK6ybH5BtqN/Aus+cRN29ucAALsHc5iY4YUSM41sjvc/A5//7S58/re7QrcRr32+7MTGXgwrCwJUASIF2WmIaeHMl22e5fWfd+7DTY8P1HXIxGc418DNkj1kU2zqL0d6yDyP4fcHR/Fkf3yf2gnfJSxU3Jqm/pakGSpZTpBDRhAzh8sYpjFObcGQTZgoVBw4roeMH2dRt2Tp96NZho50IsYhUxrHe9t46Cxlkc0fubKNdZ+4CT946CgAXkpmbOZ6+mbCIVtIOWRbnxoGAPzwoSMAgNdfdz++efeB+dykkyIXTUjh48nvrSC2h0x5Px46GAwaV4WSWI1ddbxpf66EaKrYnrzv0UI19HlSPxtBD1n9/cqp5pCVfQE16Z88DhcqqDpeXRfuxCQXqPmKjWLkJKc1aUZKlkEPGeZfj5EgIxY2rEkC/WaLlpSJvL/KMuPPvYw29UdLlqauIausshQ5ZK4XlMXE8HLKIps/DpzgQbBCNHjs1CMKjk+W8aByQFZRnYBm7CFzPYZ/vnk3hnLlk994CoiVxodHi3D9MNBRpWm7GZE9ZEp6fbTMFnLIZA5ZIGZUp6gY45ABte+/43r4xWPHQkLtzt3HsXswF7qdEE1l25WCbCQiyOJ7yLhYGpwo15TigxyyKcZe2OGSZd8Yj9So534el4LMrRG3rSkrLMiUkuVMx85MBxJkxIKmUclyMdCSNJGvipLlSRwyMyhZphNmzOgkJi8TJUuKvpg/xGtvKc0rpxp98Zc/fhxv+O/7a3KffvpoXyjZfNo9ZLNYstx7fBJf27Ift+4YnJH7EyLgyGhRPt+4VXbNRDTPy3FZyOUCIjlkMSVLVVSoMQ/qbaLv/737R/DBHzyGx/sCMfexHz+OL98e7ssKyp6uFIqjhUroxEHtZ8tHVlm++mv31gQen7pDJmI/+H0f8wVZPXc/EGROTTBsaypcslSb+oWzNp+QICMWNK5XP6l/MdCSNMEYMFmyA4cssiMTPWRJpWSZTRgoVXkJzFV6yMQBXzhkjVZDEbOLOHiJuBLg1AWy+CT83++PyMtKVRcf/tF2fO+B4LLpO2SiRDbz8SgD49wZGyvOjDMhHJMjI0V5oG2GE45c2a7rREdz3uyYUUcnC4bNlR0Zaqo6QtUGDpko5YnXx/UYRgoVHBoOx1uIx1FLliP5aqQ0GlOyLDuYLNsYmCjLJntBdLbuyRBiMjdFh0wIq0LFiXHITFRsD1XHwx27hzBRtOVc4eMkyAji9GgUe7EYEK7YWLEqBZm6c3U9Bo8hssrSD4a13VBoo+MyeWBY0ZEG0Bw2/ZmKeO2TiiA71RLy0hbeC/j9B4/Ig6cQ3SeUZu9p95CJeZiz4JANTAhBNjNlRbFizvEYth0ZA4CaA3I99g5NztoCgA9+fxv+6qdPxF4Xjb2wXVbzXlUVhyguhyxXsrGsjZ9gleqsfozeZzBWyxc7VQbGuLt4ZKQoF0Y4asmyGl+yLNmufO1FE32uZMv3t2SHP9NqT6uK6zH89137cfOTA7GvkViA1DdW9P/vxJY9RfRHPlaQ8ZLl9fcdxJ9e/zDu2TcsV+KTQ0YQp0mjpP7FgOiLGSvasAwdlqGFdsbid8vQZSwGj73gzppasnE8JneqPa1J6Fq43EHMLeK1D5UsT7HEJg6sI4WqLOXIOYOnucqSMRb0kM1CU//ABN/escIMCTJFUD01lAcw9RLwH/z7Vrz8y3fPyHZEGcpV6o4SEuU4W+mrKkmR5mE4X1FiL2zpetkuk/1fEyUbPUKQqT1koUUd8a6bKEmPV4KVvs/74p14mf9aVGXJMtiusUI19DjXbdmPF39pKwDVIbNxzH/OUVEUJPWHt+mjN27HP/12N754y57Q5VI82h4GJ8o4Oha8ltETGNdjGM7zz1O+7KBQceT4PEPnJ6oVxw29Hmf3tgIAXnP5Ssw3JMiIBU2jpP7aG3vA+NHZ3aAZJptQRyLpsAw9tKMNBJkWWmWZ9d00dfm54wUH2JRloC1tNX0swGLjxGQF1921H4wx6QypJxSnWmJT+2GO+s5BtAeJ3+7UBZXju6/AzPSQDU6UcffeE/L/gUM2M5/B8aKNlb7zO1rgbkdxCgJXODB9Y6UZXeUqqDi18QvyOkV8AVyYuR6D7Xr4+WP9eP4/3ylLdWXbC60aFA5Yrhw4ZPWb+qMOGf+/cMiEIIsS55A5HguV9w6NFDCYK6Nsu/Lzm684srQYfQ+CWZbBYzLG8JsnuDPWkUnEvkYAcOU/3Y6tTwWfoej+a6xYlVWBQtVB0XbR7WcuJgwdSVNHxfHQ05qUf7O0JYm9n3spPnrNubGvwVxCgoxY0JxSyfKBrwL/cSkw+CRw7FEu0ACgMhn83mS0KDMqTUNDwtRDB0exU46WLNO+kFPPIF3Pk71AlqGhgwTZnPOe7z6Cz/92N/afKEhBpjYen2rJsmx7WOofXI6OxjsSQP3RSffvH6lZ1Sf/Jkb4nw7/e99BvOP6h+UBUzpkM1WyLNlY7vdGjvqu21QcshHFoTs8Umxwy+lRdb2a5nJBXA8ZwEX14EQJhaob2r7RonqCxW+bKznozCaQMPRwb5db3yFTXScAmKgjyNQB5ep9H1NcKiEYx4pV+fllDNjjr9gs2rUuFhB2yE7kK3KboiclcSuPxWc+Gq8h+tW6swnkyw6KFQfdWX7bhKkjaRko225oIUJ72oJl6DQ6iSBOF4/VT+oPYZeAe/8DYC7wvdcB33gB8ND/AJ4L/PfzgBteATgxBwbGgN038b+fB1qSgSCzhENWp2SpJvULh0xdieS4TO6kE6aO9rQVWmVEzD57/EHGpq5hrBDuuwGm55Ct6crAMjS5qlI9+AvzOM4he/TIGN70jQfwlTviE89DcxGn4LANFjxc/OlbcGi4EHv9eIGX3EZ892rGe8hKNpb7DtlIXojdkztkI0qv3T37hmdkW1Qqtle3FF2RqyzDfVXlahAzofZ5quVdcXKVK9toS5tIWXokGHYKPWR22CGL7krtGIcMgCxHqts3XrRRqDiyJ3L3AP+s1zhkMasshcBrTZk1Dm/ZcWU7BgBc//Zn4O9ecSGAWodMCPE13RnkKw4KVRetKRNJk+87E4aOquOFPs8dGQvNAgkyYkHTKPZC82zAtQGnAtz8CaBwAlj/PGByANAM4L6vAAe2AKMHgMP3AD/4Y+CeLwH3f43/HQA8dTO//I7Phu98ZD//N8uI5nsgEFriQA4Egsw0NDnLUgTDAuGdueMxuSNKGDqVLOcBMSDZ8bzAIatM3yGrODyfbmVHWpYs1YNvNmlC0+Kb+u/2g1TrlTNFWcvUtRqH7G9/8SQ+d9PO0GVDRQ+TFQcH6wgyEew5NFEBYyxYZVmYmc/gRMnGkpYEF7v+azuV11N1oB4+xDPdfratD6+/7r4Z2a5GDpnoIRNul+qQCWdI/Q6ruWpV10PZdlF1PLSlLGQSZuhxGuWQVWMcss6MheV+6VO0gchVlo4bdsjGS1K8ifseK1ZRqLhyn7XbP/mo7SGrXSkqypvn9LbW3L5ie1jSysuOrUkTm8/twcaeFv7aRCYCiHmXK9rTqPjhsZmEgUzCQNLUkTB1eCxc1m8mQWae/CYE0by4HkO9FrJLt/8dkLsUyC4BHrkeuPK9wOZPAtu/D2S6gZ+8A/jl+4FEC/CcD3EHbd9t/I93/Ax4/f8Cv7+O///31wGXvIGXOx/6BtC/DdB0fn/P//isPb/OjIW2lIlc2YFlaHjamk5sfeoEGGM4MFzALX6GU8LgdjzAy5FideZkJSzIbMUh68gk5I6QmFuqDpNN/WGH7BSb+m0P3VkDq7sy6JMOWXAfSdOA47K6DhkAdGUTNdeJ+wZ42bxse/jbXzyJtz5rLTb2tOLBg6PyMyafk/+wk3VEkHBrB3NlrOnKoGS7aPdPCqqOF4r/OFVs10O+4qAjnUA6YUinpOp4MqevHsJNyyYM+V7sGpjEw4fHwBg77VKWiIzwPAY9srMqRx0yTzhSQYlwoo5Dtu3ImIw9aU9bSCcMlOxa91x9HEFVEVoAd8h6WtO44qwufPv+w7KPLVSyjK5YTJqh2JwTkxVUXQ/L21M4OFyQYjgqRuNWWYr90Nk9Ldg9EA6nLTsuOjJcKF61sRsA0JY2a14bIPiMiVifE5MVbOhpQSZhIuELMiDsRIuSZjNADhmxYBENuNGdHACgOIr2iR3AoXuAw/cBa58NvOSfgFQbcMW7gAtfA1z6JiB3DDjv5cDzPgp8ZA/wsf3A674FHN8FfOXp3EG78r1cwH39BcAv3gu4DnDNZ4FzXwbc+Y9AMT4pfSbQNE0uyzYNHVdt6MZIoYo9Q5O44b5D+Oeb+YqkmuHiMSVL1w2sesvQ0Z42Md7kSeaLCbVh3HY96XaoB4dTDYYtOy6Slo7VXRmlZKkKMh1JS685IDuuh0cPc0FWr79MHLRb/AH3377/MG7dOQSAf66ig+lFeny9gfXi4D2UK6Pf7x+7cEUbAJz251C4SB0ZC9mEKQUZcPKypVgAsKw9FZoVyVh8eGmhTtxCPaqK6xVFiF7b9eB5QWYgd8iC1HuxUlB9Xu/8ziN413ceAQC0pS2kLSMUDNtodJZ4XNUh62lL4h+uvQifetn5chuiSf0JRdi2psLOkihjLm9Phy6vt8pSzSE7Nl5ER8bC0tYkirYb+q6UbRdXbViCD73oHPzzay8FwAUowN/3n23rw59/+2EAwcmA6CUcKVSRTRhIJwwk/JIlEDin33jrJjx74xI0CyTIiAWL6MuMLVke3AoNDBg/DAw8Diy7OHy9rgOv+i/gj74HXPM5flkiw920i14LvOsu4OlvBy5/G/D8vwTeuQU472XAH3wGeNdW4Kr3A1d9AAADtn0X+NUHgerMNwQDwDpfkFmGjmdt4GeI9+0bCZVjoqssxdzLUA+Z4pCZuob2tIVceWbnJxL1EcvxAX4AFiJEbTAW4mz/iTy+euc+MMYavj8V20PS1LG6M4OxIg8gVQ++SZNPcKhEGqOfGsrLg1ecUBD3DYT7GEf955Ar1YadiuNuvYH1opw0lCvLgdjn+JEDp7vSUjgl7WkLmYQB5SWtWy4UjOSrSJg6urIJKWKEexNdXep5DBd++hZ87MePT2m7HNcLrfqLIlY5Oi4LCZRS1Q25Z52+izlaJyKkLWXy7MF6PWTRkqXrr7JUeshEo3zKP5kr267ikHFB1pa25IrObNII3adwuTb08P1Va8rEGzatCrVKAPUdslWdaWQSPK5HCEXGGMq2h2zSwAdfdDba/fJi2jJg6homSjYePjSGO3YfB2NMfsZ6/W0EgEzCRDZhhByyfMVBwtTxBxf0NlWwOAkyYsEidnSxX6iDdyk3rAC9F9XeRtOA8/8QaFlae133BuClnwde+WUg3QG0rQD+6LvAsz8AOc185eW83Pm7T/OS6L7f1d/Ywgiw/w6+SOAUWdXJzzgZY1jVmcHa7gwePDgaapaNjk6qF3tRdRkSJl9R1J624HqM5lnOEaLHC+AN0PXcFwD42aPH8MVb9uCmJwaw/pO/wQ5lXqFKxfGQsgys6OAHoIHxUuignBAOWST2IBwa27iHrFVZ6Tta4LECkxWnVpD5d1PPIcsrDpkQYBuWZuX9ng5icUp7xpL9k4KTlYGH81UsySaQMIMFM0I0RBczPHGMvw+/eOzYlLZLFXRxERyqQ+aEBFQ4K6vbF2T1FkC0+SXLurEXdRwy8R7nKkyGDIte1Irtyd42UbJMJ3R86uXcQdt3PB+6T9GYv6Yrgwf/6oV47G+vwbnLuAOqljvlKktFgPaNlbCyIy2dfSGixeuXssLvqaZpaEtbyJVtlG0ueotVF/myg0zCkA4aAGzsaUFb2kI2aYRKlokGZez5ovm2iCCmiMfiVwYBAA5uxWTL+uD/UYdsJjAsXgpl/o5l7631b/vL9wPfeTXw0z/nKzsBXhadQtzGqs4MAKDfb4Je1ZnGcL6Coh0RZKHYi5iSpX+mKnZEHWm+k6dw2LnhqDJbMm5MS8rSkfcP2mLg9pd+x1dAPnZ0PPY+K7aLpKnLvLpi1a0tWZp6jUOmlgjrpfiLvjPVIRsuVKWwKlTC7mrFFxQn7yGryF6o9UtaarZnOqgOmZrdB5zcIRstVNDVkoBlBJEyoiQZFWR37jkOANi0tqvhfT5yeBRl2w297g0dMsW9BvxVlsr7KPr86s1/bEvxkmW9od81Tf1Kb5jtenBY8D6L/UjZduVKTjHLMm0Z+MNLluN9L9iIz706vE8VCfrZpImetpQMYo0+d3UqAcBPNI+NlbCyIyP3W8Wqi1t2DOIVX7kHQHiahYD3HwaO8GTZwWTZQWvKDPU3Xra6A3/3ygvx2VddJO9HOGTNRvNtEUFMESHIakqWpXFgZB9OLH0OkO7iKyqXnjc7G3HuS7lLtuZZwN7bgB0/ry1d9j8G7LkJWHYJ8MSNwM6fA7f+DfC1K4Ft3znpQ4iwy2Pj/H4zCd7TU6xTsjT1OiVLl+/0xY6ozT+LpJWWc4MaFTCcrxVknZmELPcN+YJNuBBCPEepOB6SpiEPZGWl9wjgDlnKMmqCQYUg6sxYoZLlUK4shaMQIy1Kr9BooSJdVx40rDaR859xDpmtJNAfz5Wl07NeOGSnK8iKgSA7VYdspFBFdzYpIxGA+g7ZnXt4KGmjg/mJyQped939uPHho2GHLKaXTR0uroqtku2GXM32tFV38RLAm9xFybJQcfCcL9yBrXuHfTe8fg+ZunpSvG5CkJVsV5ZRxSKDdMKEpmn46IvPxasuCyfbi5KlKuAzisASRFdZTpRslGwXKzpSoROLLXtOyIkLyYhDBvAy7UTJDvXa5SsOWpJmyNU9b1krNixtwcaeVqWHzJUzLJsJEmTEgkX0idTkkA1sBwBMtm7gZcXeCwErhVnh8rcBH94FXP5WID8I3Pg24I7P8Ov23wH88M3AN68BUu3AW38BdJ8N/Ow9wH1fBqABR39/0oe4eGU7AMgdYEvS5CnUyk7OVB0yU4ehc4E2GSpZihVn/PVSG2OJ2WPrUyfw2ycGQuJYlCbVfCUuyPjlx32HTBAVVADvZ6q6vIdMiPGS7YYcoaTJl/tHy5JjRRuaxntt1Os+8+ud+OAPtoUeUz24jeSrIQGvli1lU79/2Su+cg++ff8hfpn/3HWNr7IcK1TRljKxxE9RH83XF2QVx8UXb9ldE3GgIhyYlqRZ09s0lR6ybr9kWY2WLF1l9Jjr4fG+8dDjxdE3VgRjXEyHHLIY57Ci9KypJbxSJPcrYeohoROlLRWULAdzZfSNlfBE3ziSfitDI4esXA2mdwDBZ1K4ZwB3Yku2i7QVSIaooBGPoTqUGSmwwr2s4jkDQR7d8vZwyVLNs0vFCOBs0kSx4oTy2nJlG60pK+SQmUppUvaQle2mdMgo9oJYsNQtWQ48BsAXZC/6oyBTbDbQdb5y84JXAWOHgcHHgQe/AeSPA0/+GGjpBTa9HXj6/wMyXcDmT/C4jRf8NRdj/dtO+hCd2QQO/tPL5PL7bNJAoeKGhCg/82P+7/zyTMKMzSETEQAif4fCYWeXr289gOF8BVdtCFZzCdGSTQZBmF3ZhCz7DEUEWZy7ovbXpJSDaLSHTNNqe7TGi1U/uyrsnk2UbNnfJQ6wrcrBbaRQDX2m8mUHS/zeo4roIfNLmTv6J3DJID+ZEGJ0XXcWB4b5qJ3ObAJJ00B3NoGByPNVefjQGL56536c09uK3zwxgD96xmpcfV5v6DZCVKZMA2krfFg7WY/kSKGC7pYERgpVpalfOEjhsp+o0DYaySTeu0MjxZCgi3fI6vSQ2V7osROGjtaUFYqZECR9FzRtmaHxRR7zT85Y7cByOTrJDkrcQogJcV+23ZrRSUJAA7x3V9PCbbEpS8dZvusJQPayhh2ycObaoP96LWtPBTlsVReHRhRBFuOQZRIGxou2PA5MlnlfY2vKlOJV9N/K11EpWUZjW5qB5pOIBDFFvHpN/f2PAe1r4FhtvBm/c+3sb0wiA7zgk8DL/xWw0sCe3wLPeh/w/z0BvPQLQA9vhMXFrwM+fhB4/se4e3diN1CeAO76Z2D7D3kp86tX1IhINQsp68cQqDs5y9SQNIPYC4DvsGp6yJSSZbtSsvzcTTtx/b0HZ/51IZAr26g4XqgEJd471X3qzCYwWXZQcdyaVYdx443EQVYckMVlZduVB9WkqeNpazqxayAXSqQfLdrozFhIWUbovitOkDcl3B31wFV1PPRPBOIp7JDxn5NlB2Xbg8eC5yncLbGqckd/Dp3+zMLlHam6w7cByDiPPYOTuGXHEG5+crD+a2EFkS/ic94o9mLSbwrvbgmXLEX5sN60AtUhu3XHIP7kfx6Q/XSD/utzZLQYch9jHTKlZBkedVTrkKmfFRXResBLluE4EsvQkDKNGkEWBMMGJctMTMmyqgjTku1Kxwvg+yRLD0uIqzYsCYknUQZVn4sTyVwTr9ey9qBkOVKoSudM3SaVdIKfzIjstVzZlj1k7WkL//jqi/Hjd18V+htZsiw3Z1N/80lEgpgidWMvBh4DVlw69xsEcAH44V1clOm1OxEA3CkDgBVP4wsCvnkNF2Zmmv/frfDw2svfGvvnLQkTVccLlY4sQ0dnxoSha8Hydat21VWoqd93yG7bOYQ7dh/H8vYU3nbVuqaY6bYYuHffMFZ3ZmTwqXpQFAdntQzVlbEwWXHkPD5D12S/TbHqYutTJ3DZmg60+T1dwkFJWrpSZuKOR29bCodHikiYOq65oBdfvn0vbt99HG/YtBoAd8g6MgmkLSNUCqw6Qa+XmkOmopaSChVeWnrk8FioZBkNBRUnBucvb8PNOwbRN1bC2X7a+or2dMgNiSLmS247wsuFcZMAKrYLTeMCNOOXLLuzCQxMlBuOoxL3vbYrg/7xknzOwsUJCTL/OkPXQt+rBw+O4t59I7BdhoSpSbfv6Ggx1J930pKl2kNWDSfjW0ZQshQDsgHgTc9cjSvP4lE4aT/uQ+3Hswwdpq6h4vBy696hPF779FXy7yvK+52KCLKa2IuqWyOMLEODqndfcG54xboQcIXYkiW/74GJMjQN6GlNSuG2ezAcDhvX1J+xuAAVe6ucn40nXqc/vmJNzd/IVZZVtylLls23RQQxRcTBKmSQ2SU+CmnZJfOzUQCQbKkvxlSWX8Z/juwDrv5rPmfTs4GuDdwxGz8a+2fCsVBLGpauo7cthXv/8mo8xw86TBh6qHdDpG+LHVEmYeIVl67AHbv5yrGBibIcd0KcPh/8wTZ8bcs+5PzG44rjSZdDHKDUfqdOPwdLxGNcsLxNXjc0Wcbb/vdB/PjhPnmZcLCSphFyNYpVFz2+KE+aOi5c0YYV7Snc5oe6Ajw+QThkqosTEmQxqywB4KAinu7dN4zN/7IFH7lxO3JVP2+r4sjPnRAuopfx/OWtwfP1HbIVHWm5gjgOschgu9+/deBErSArO7yXTtM0ZPySpViZ2MghO+CLu/VLs0gYOuxoU79b65B1ZqyQuBInRsIBHfKdHcdjIfFYaOBy2p6HaLJ+NE+uxf/sqI7lVRuW4Fq/t1SI8hPKCt6E31tatl18856D+Kw/7kp1yMp1SpYVOyijlh3R1B+WDJa/LxEngc89OyrIGjX1M/l6LW1JhgKtd/SHBVm8Q8ZPONUeskm/h6weqghrNL1hviCHjFiwxCb15/r5z/bVQHxSQPPQthx46ReB5ZcAa64E0p1AaQxY91zgu/4A9HfeBbSHVzNFm5YBXrIEgpEhAN/5qDtCvrSehXZEn732IuweyOGKs7rw3QeO4I7dx3G+IgSI6TNRsjGcryDnl0cqtou2lOX3uvD3pSUZHDw6/NLTfl9wXLWxW+ZeDYyXwFh41azoA0qFHDLuxHVnE8gmDCRNA5qm4XnnLMWtO4dQcVzsHcpjrGDjnJ5WQAuXk6q+i+oqMQzRXpuDiiD6n3uCMvdYOUjqDxyyIJIA4JlQlqGFwk5XdKSQrzh8SHbMwTQ6gWCkUMVE0ZYhofx5B+6NOKi3JPm4nEYN+MLtW9uVhaU09YvnHueQdWQSGM5X4bgeTEOXgqxQcfDQwVEMTJTlc9w7FJzgxC0uUB0yVZAVqm64h0xp6s8kDIz6b4G6LxDPWxVklqGjLWVhrGCDoSpfw2C4uNewZGlLx5CHrqZrHDK+L/nrl5+P85a1yRDr6DaFSpaeF/o5kCvL/Za4/c4aQRbjkPmCTLSsTJRsFKpuw8UPqtPWjCXL5tsigpgisSVLIcjals/9Bk2HK97JxRgAPOPPgOd9jP//HbcClTxw04drwmTjmlHjzvYSSmkDAFxXNPUHr1d7xsKtH3oePvuqi3HRyjbcvffEDD2xMwfPYzJ2QVBx+NiZvrESXI/JoE9xsBAOi3DMRNM2AOz3oy7e8Zz1+OX7no0V7SkM+WVMtYxVVhwycaARDlk6YeDvr70Ib3wmL1Gu7c5itFDFDfcdwiv+8x4cGy+hI5OoicRQnRPxe1YpAQIIlRdVwT9W8QWZ0scUdcja05aMcen0BZUYRl2vj+xwTDnzwHA4lLRsuzIYWZQs0wkDLUmzpgF/vFjFl373FH62rQ8HTuSxoj0lR+vYLguNMIrrIRPbLRwvsSjmxof78I4bHsbvD47istUdACBjG4D4+A3hgomTJcFEKbwIwzKCHrK4VYzi+QLhjLuEqWNVZxp9Y0X0j5dRcfiIpqosWcY19aslS3XcF0M6kvEWtD8kcO6yVkQR+yohij2Pyf226pCJ9H/xfI5PVrCkJSkvF/2xKpmE4QtFft/iQvyoEQAAIABJREFU81Ov145vb3A/FpUsCWLmcFlMyVIKspW1f7CQ6L0AuPpTwFM38ygNOzhYxQoyvfarHO27sD3Pb+qvTb0GgHN6WnF0lIaNnypfv/sALv2HW0MrI8XBV4gXxnhgqig7FSvhkqVpaPJAsv9EHpahYWlLEpes6kA6YeD4JL9vtYwlhFTS1KHrmh8AKwI8Tbzu6atw4Qq+ylGsNrt913Gp7zszIky0VnSo7ojpf7ZWd/GA4mLVlaIECHoRhXZhLJgEUIr0kLWmLBl03KGULIF4QTZRtJErO1IsiJOJaB9Z2fakiyKdHtPwF7aExfItOwbxpd/txYd+uB2/3N4vXR1RzuLlQ+a/xrWvjdhu4XiJVaeqsL1kVQcsQ4uI18iQbdeD4zH5PVXf27FCeJtDDpniiqniTPyufg4tQ8OqrgwGcmV5ecl2lVWWSg+ZEGRye3gZVXWnah0yLfZyQdJf5SscMlc5uaw6Hn7ySB/2DE3K2ZMJU5dzO9cvyWBNN/+sODEB2kK8CfEsPj9xLqsgsVgcMk3TMrO5IQRxqniyh0x1yPyRJq0LxCFrxJV/wXvLdv4CePxH8uI4S96ICTmM7nBkD1mdQMTe9hSGcmX5uhJT48GDfLi8aDoHAgdMFTsTxWrgkPkHKCGuLSPoEdp/PI+e1pQUypmEKedglqouDpzI4/hkWYoFmR+VMPxVZ64UJQIhyB49MiYv68gmkLL0kOtWVWIHxJgt4W4saUlIx6K3LSXjZs6LcUbEyrmCP5PxRL6CpD9LUGyL6PFa0S4EWW0f2WG/Nnf5Wu44XbyyHYau1fSRhUuWpnw9lrenQqtCAeDYOG8iX78kC4/xn0Dwfak6wciguJKldMh80S1KlurqxqWtSbSmLAz7bpWpayhUXCkeACVWRIh01W2MBOUmDF2Wt0MOWaQHEQhPhLAMHas702As6IsrKuXQihP0qgmHzTR0WIaGssNjL9SyejpSOhQZX/UEmaZpyCZM+dzU539svISP3MgzI3uU2ZNiO9Z1Z/GVNz0N7796I85fVttGEf2Mi89PSyOHTBVkZvMtXjqpINM07SpN03YC2O3//1JN074261tGECchNql/coCHsCZb5mmrZhBdB577UZ5lduhuebG6Q/77V16Iv375+bEiLRnZeUZzyKIsa0vB8RhGTnOu4JmGmMe4/0RQnorLvhov2XIoslxlmQgEmTiz758oo7ctKf9OTZ4v2i7e891H8fnf7A45ZABkvEGx6tSk1QtXSi1BdWYspEwj1C8WLVkmDF0Kp8tWd+ClFy8DwFcais/hecrBUnwORdmsVHXxkRu349v3H5YiQDhtwllb2pqEqWuhSQYCschEZLit6cqgpzUps6sEZceTae5BL5SO1V2ZkEABeD9eT2sSb7mSx+GsjzhkVSdoZq/ENvWHHTIxekzN80v6MRVCeHdmE7jpiQFc8Y+3B9tsiz5C/pqVbEf+bVSQWUpTvypE1H2BKCmLxHzxnMR7rz6ueC9sN5hlq95vyjR8Ue6hLVVbFpXbJQRZIl6QievEa+XEnOy1pky84Nyemue0bkkWvW0pfOSac8N9wnW2RXwmGpYsF4FD9u8AXgxgBAAYY9sBPG82N4ogpoJM6o829beumJ8Nmg00jTf5H9zKa0H7bkdnfr+8+rxlrfiz554V+6fRHY7jeqFVllF6/bPUaCgp0RjxuqmCLC7iIFeykbJ0mIYmD0ziIGsZWkhU9yqOgXqgLFVdjBSqGMyVgx4yKzgockfKq3EslrQkakrY2YQZGrkEBKKjWHXlZ+UZ67rwk/c8C+/dvBGvvJR/t3b05+T2qg6ZWG0nHLJi1cEjh7gr9/JLuGstBKxw2wxdQ1c2Icc5qdy3bxhLWhK4agOPdljRkUbKMmpGGvEeskjJ0jKwujODwVw5VE4cmChjeXsar9u0Ctdc0IvNvhiQgswvJaqvh/q7KFnmK05oVaoQZv9w7YV40zPXhISBcIaG8xXpQMtZof7tSlXhmFkyh07s25KGLgN61ZYF1SHr8kNbVdFjGTpWd4XDUQtVvt3i8yC2O6W0MqQSRnDSoDyP9sgIL+G2NxJkovke4H2sUX79/ufgghVtodsDgVCuf7/xwqtRU7+6T2zGVZZT2iLGWHT9fePhYAQxB8Qm9eeO8SywxcT65wL5IWD4KeDHb8eSuz4ur6q3U8KOn+PDh9+NPzd+DSDItIquslQRK50GJ0iQnQqiLWa/UkaLc8g8xkWCeP11DUpvlB468KmCTHVBRBL7aKGqOGSG/1OXQ7qj5RxN02Sp8MqzeA7e8o6UdJXKtgfGWFCy9B0y0SP09LVd0HVNNqu/9vJVsv/t7N5W+R1c6qf2C7fCY7z/5zWXr8RX//hyAMA1FyzDz957Fc5aGrjY2aRZEwvBGMO9+0fwrA1LsKYrA1PXsGFpi5/DFZ3NGFOytAys6cqAMeCY4hr1T5SwoiOFtpSFr791Ezb6eWjifbEdFjtcXAiorix39ooVN5QFKF77P7liLVKWgdakOgM0EJv5qihnhx0y4SK1pcxA/PkrbxOKQ6ZGQGSU31uTZs04I8vQsKwtJfuyACBX4o8jgqFHC1VYeni1Oh+7Fs7Ka09buPq8wMlSX7N6JUv+fCwp+kQpWBVG0TmtasmyESFHT6kGiKDcOKyDt+OL5nXQUf/EdD6ZyhYd1TTtKgBM0zRL07SPAtg1y9tFECclvodsYPEJsnXP5T+3fRcoT8A69iBWazxTKhMTgQG7DPzkz7CmtBuvM7YC4AdrMQy63o5IOBbRchDRGHFiIFZHAvUHWidNXR6MEn5PFcAPnKqj0lOnZJn3Z/eNFqoyhyylOGSjfjN4nGMhSoWfeOn5ePBTL8R5y9qUBu7wijrR1B8V75qm4anPvhT/8vpLQuNphHsjHDLVZR3OV0MHXV3X8LQ1naH7zSYNudBBsO94HicmK3j2hm50tyRx24efj2svWxEKRv3hQ0fw7u88Et/UbxnyOR/1BRljDAPjZdm3phI4ZG68Q+aGHbJC1Qmthhwr2kgYunS1VIH9H2+8DOf0cuEnVuQKMSdKwkKgiV4w9fdoMCzPF9NDcxo1TZP3JbAMfpvlHYHAF8JRCJfxYhXR3UjKNDDpD7q/8qxuvO8FG3HnRzfX7DvUqSD1WNWZlmVj4RQKV1fXakuMQcmycdu6+hkX47vO6W3B+gZCTtv+fbze3IrXGXctWIfs3QD+AsBKAMcAXOb/nyDmlZqSpWtzJ2mxCbKus/iq0UdukBe92rgPQGRH6FSA2/4WOHgX4NkYSJ+Nc/U+tCOPhKkrTf3xX/slLQnoGpUsTxUhY/IVRx5s66XDpywDpu9iJAxdHhQsQ0fSNOR709saX7IcKfDerLFiVZbKhEOWMg2M+tfHORbCIVvfnUWPf/9qxEFodE/VRaVOeTvhB7C2pEyYuoYlLUl5cF/hH/ijKybbG7gW/DmaNa7ig4f4Yoln+eXK9UuyMP3XSYjR+/ePYMtTx1F2ah2ylKVjjS/IRJbZRMlGyXaxvCNGkPmvfUXpIdvRP4Fr/v0ujClzLoMeslqHTHVqhNDQNeCVl67Ax158nn87/jdiocZyXxyKst5ZSqmuy38sdXSSZWiwDC3knMrbZ7kwEeeo4jmt7crK1eii1030ho0X7ZqFPikrGLvWkbHw0RefWyP2gCA6Ii5JX7CmO4OjY0W4HpNCV3w+29NWTX9YOmGgty1Z3/33Ub8X4rV77+aNsf1mkgG+iOCj5o1I6bUrN+ebkwoyxtgwY+xPGGO9jLEextibGWMjc7FxBNGImqT+XD8AtvgEmegjq0wAmgGsegZeY94DgIV3Wk/dDNz7H8Bv/xIAsG3Z6wEAl+t7kTR1OTopWtYQmIaOpa1JKlmeIp6ylH+f30dWb6B1UilZJkxDccj4T+Gq9MasOgOAEf8gbrtM/i4OhumEIUNBhWhQeeWlK/Gnz14fClRVA2VVN6hku7Cd+uId4KWo5R0pGLomBdeqTl5atCO9Qh2ZxoIsq/QZVRwXk2Ub+47nZdlRJWkFJcuRQhVl28Nk2ZE9UEtaEnjX887Ci87vRU9rEglTR99oEbmyja17hwEAK5QAZXm/IvbCZbK09uiRMTw1lMeB4XxtDlnFCQmyXDm8mEIs0hACVrwG476rNuxHgwhnWghsUUJVX7ewINNhKSOiVEQ5VThG4nP1qZefj8+/hk8viTpkY8UqogZXWhFkZkykjmCFO4ArrAMNx62t7crCdhkGJkpyny3Ec1x58TWXr8Q7n7eh7v0JMjqDCb6NH7nmHLx38wa84tIG+/5KHhjZj2PoQY82jm63+TIXT5rUr2na/yI4CZQwxv50ug+qadqHAPyZf79PAHg7gOUAfgCgG8AjAN7CGKPlXkRdalZZjuzjP7tO/mVecKx/LvD4D4Cl5wGXvxXr+t6PS7QDYYdsF+8Xw9hBINGK/b0vhn3gC3iGvgf7zWfXjE6KY1lbikqWp4ia27uzfwJ//fMnsUwpOaqoJcukUrIUrllrysRooRpaZSlGAQHhaAQxfFmusrR06RqLBm+VZ67vwjPXd4UuCw2Sjgqyk3xWPvDCs+VqQCE+skkTPa3JmqiJkwqypInDvov1b7c+hdt2DWFNVwbrl2RrDvZJU8dogW+rePwxxZ3SNA2ffNn58varOtM4PFLEv936FK6/7xAAxDpkQrzw2Av+QoreLz6P1PWfi1+yrLjS7RKozqQQUMLB7JAlQt8h88Vzry8ORVaXKsiEsOaLPiy5nZah1zpkjOF8cxD3wsLy9hROTFbkBI/zl7fJ7RGPL96zsaKN1shJWtLSZX5bvRM4AHjT2HVYYewC8P66t1FdSuEGivcqzuUTo6Aa4rlY/rNX43qrjDfbf4WLVrTjT65YW//2D30TOHwvAIYH9MvxWu9mtLlj4dt4HuA5gFn73ZkrplKy/DWAm/x/twNoA5Bv+BcN0DRtJYAPANjEGLsIgAHgjQC+AODfGWMbAYwBeMd0H4M4MxAHwhpBtuTs+dmg2UT0kS2/FDj/lajCwmvNe4M+CKcKPHULoPs7uGUXQU+2YCdbi0u1/UiYOqouLxk06p3obUtRyfIUUXPbfrV9ALsGcrh77zAS/mw+1WVKhRyyQJxJh8zvE+qps8pSZWCiBFPXZB+R2uy9JBsRhKx2dRv/m6CHLCTI/MiDRp+V85e3yTiKtnTQSL8sxn1q1GgN8AOzKPPuP1HAgRN8YPlZS2v7gZKmIXvIRn2XkLH4eYcAsHFpC3YN5rBNyWCLc8jiYi/EWztetGVJN50wkLL4nFjVIQPC2yCnMPj3K5zJO/ccxwv/dQsODhfQmjLRkgzPeww5ZL7jlVQcspRlwNK12s/Fkz/BXx96Gy7V9knXTX3/hFgU29yuOGQ1PWSKQ9ZIlK+r7MFSjAGF4bq3WZ+tIIMyjowU5dB28To1WhHZkMf+D9bAI3iOsQPP1Z9ouMoTAHDPvwNP/gQA8KC1CQDQ7o4G1x+8m4+qu/dL09ueGWIqJcufKP++B+ANADad5uOaANKappkAMgAGAFwN4Mf+9TcAeNVpPgaxyJFJ/eJTPLwXSLbx3K7FRuda4DkfAp7+NiDdgW2Jp+MFxrbg+r6HeEnzme/i/192MZKmjgHWjSXaBJKmLocIh3awxx4FqkFO07olWRwaKdbEChD1EQftlR1pPHSY7+QdjyGbNNCZSchGdwAy9gLg/T3ivUgYOrDtu3hf5Rs43xpsmP0kGJgoh3p3VDEQcsh+/SHgG1dzByBCuIdMHcvkwnbYlLOaxME9ndClC6L2jXWcrIcsacgRR6JPbrLshFZiCtRVlqNKXleyjiDbtK4Th0eK2NGfw9Xn9eD9V28MvScCtalfnSsJCIcsWCGYTZh+U38jQRaIKSB4PW7dMYT9Jwq4e98wlrYkZUlQlCzVbZM9ZIaBbNLEl9/0NLz28pWwTL12Ysdj/wcAeInxkBTF6vsn2hukQ+aLaMaARLSPywpEb92SZW4A7a7fvTS0I7jcLgE/ezew85dAeQIrfvAi/Gviv3F4tCidR1FebhTiGkslD/z0XcCvPgi2chP62BK8x/hlKLKjhvGjwMRRABrQ0otD1kYAQKvjb3txFPjua/jP7vmtrkxHnp4NoOekt6oDY+yYpmn/AuAIgBKAW8FLlOOMMdF40Qe+iKAGTdPeCeCdANDb24stW7ZMd1OmTD6fn5PHIU6NfeN8B/bkE09AH9yFS/Y9CDPRi0fvugvAInzfzM3A/8/eeYfHUZ/b/zNl+6pXS5bce2+YYsCmhd4CISEkQELKhYQ0Qur9wb1Jbm4aIckNCSSQHgKhhgDBMWAwxRgXbNwlS7as3ru2zvf3x3dmdlfdtoxtPOd5/MjanZ2ZnVnNnD3vec9bEYKKtdSKYpbyFq++uBpDczOu9gVmAG8Z85iSs4yDkYnsr9iHXwRZonYR7u2mw5w1WFVZyVqqCXaVs3TTV2jIP5Nds++Qm+iUGUV/fvZlJmcM/60zZgiiBvjGOPH6RDtvlfslKcjUwtQkCVGaiJHrMtBV2Q0FUFm+l74eM/agr4d3t24BBJ1trfSu/i4X9dUxU3ubV15J3BgO1KTe9C3UtPbg0bCPVUu9lQoPb7+xzi71rdz4EAB7H/4GtcUXpayjttv0Sm3dTl0wcR53l1fS3BbH71JGdS46muW2d+/YTqzTHAulxugwn9/z7hY6KoYmd831EbrDMV5++WVqmhMNAaGmKtaurU1ZtqUpTFdPnBfWvJwyCaH24P4BywKobYl5kTM9HSxx9/DKK3UDljvQKZfbsvVdO/bCwtZdZTbxfn3dK6hGlIqqWhpc4NMhasjRUeGeTvt4Hawzw1AjIfsxj5bwFzZ1hcnSo+x4d5vc/wbpaXrjtUQIdMPBCrn9LZtoKVdJB3a2wdd776EzXsDatfJYuSLtnL7vZRTgPHUz9zfL41BbfZC1a2VHtjC/wFbWyt9b6xJpVqqIpZznrqZucumkmQz27NpBoHXPgOOV0/wW88z/l73xD2qqhPn4BuZtfxi2PkzIk4s33MyZaht/2LWPwoj8S+jtkp+MnvaW0f2tizjjq59hXN2/8ffWUj3+cqpKr6Ki6i9coa7jpbffpMLb73olDFBU8hteYTawfc7XCHtyaHzXTVwoRBrKWLt2LfkNa5kdj7Bpyufpas6BY3jtGY2HrAvp9VLMn/XA1w53g4qiZAFXAJOAduDvwIWjfb0Q4gHgAYClS5eKlStXHu6ujBpr167lvdiOg0NDcH8rrH+ThQsWcNb0PNjcApPOsM/V+/m8/X73BrR6wVlzx8u5l6tfhH0ell94HagfIRfYs6GKlrI0MukmLyuT9qYeIMysGdNYefpE+KOU5wsa11Fw+d0wfinT2vu4752X0PKmyGWGwT2r9/Dsu3W8+JWVY/reTrTztjm6F8rLWDythB0tB+zHczOCPHH7mXSHYyz4r9UALJw3h21dB6joaCUnM51Tl8zmtc1LedPzQfxtDRiqm0lGLZOWLwCfjIYIba/nN+9uQlFSK48RA3LSvPaxeju8mxcO7CMvzcuqVavkQtEQrJWX7ukHH2b61d8AX6a9juq2XnjtZSZPm8G0giC8Ibt388eNp6KvhcJMLytXLhvxGLwbL+OF/Xs5ddli3AfaeOHALiYUZFNbIVWIC1auGLRLDyHg9XvpzcrgGfI5bcVZ9K5dA6ZZ+9KzljJ/fGbKS9Z27uCdlhrmLFkOa162H589fRorV0xKXX/Vek73ZvPDTfuIxAw+fMHp9nzE/ihv7MLzxhpmTJtNfMvOlOeyCoplF+yBSlatWkXO1lcJZvrJ8LnIaGumNxKjMxRjXH6ufbyUvU3ct3UDWelprFwpLQc5b76Y4q+bUpzPsiWT4O038QYzoKWNc1ethNXPAfCpy1bQ7t7DNRfOS6hvhoGx7jpi/lLcK38rH3vrfsCgatJ1TKt8hPOnBni1vo/TF05n5Sml9vZ8L/0LxRMAOrno9IU8smcDhgC/R0/5m8veeg2FnrdZHv4/Fi2Yz8qZg2gwL70OigqeNKYdfJRpvZvhhsdh7XOg++DsO/G+81comE6w6g1yotUsXHQdvPE6+Xk50NLI5NIiVq6cn7redx6GvlY4LSnMoWo9vPI76aG96u+UTDuPEuDNN18mXfRx7ilzSMsuTCwf6YH7ToXZV0KgG9xpzP3gnaBqZFW/TmtDOqVpgikrV8LjfwZ/LksuvSWp3HJsMJqSZZoQIj3p53QhxONHsM3zgEohRJMQIgo8AZwBZJolTIDxJL5UOnAwKFJiLyI90FkNOe9D/9gguHClOSyjpUz+bK2ArIkpFxS3rtIm0nApcTK0kD3o2a2r0LYfKl6Gs+6UJd4XvgVCUJThJS/NwzsH2xkJB1p72dfUc9KXN4UQqAr2kGoLAY+O1s/r49U1XLpCIS24dZVAzwHGK82s6nwahIG64ENywdpEOdp6fU5/XxipZUHLI5RCfFrKAQFnfBFCHbA+deqdz6WhYhCKHbqpPxmWRyzZQ5ZceksfqjTVsAPW3M3F27/ErdrTtPZIpcyyhfY/ppAoWbb2S/ZP8ZAdeEOWtx7+MO7HbmRhcRoZPteA1PpkuImzxfMZlr3+6QHPdfTKkqUnya8XjhmEYzL/zB7MPUjsRfIxzOjX/Zob9NgewN5IHF1VUBSFL503ncJ0L+MyfNzzoYVy/T3N8MSnYccTqPEQ7tYyCMvRUrz7dyiYR/uCTwEwvnsr6762iuuWlkDZGjnpA/lZskqWaV6dCWZmlyfZuH9wA/Pb/k2+0k6J0jTQRxiPwXN3wlu/hrxZkD4ewp1QuxnWfh/2vQQTV8CZX4bPb4Tr/gTAhI6N7G2Q+2uVnAeY+qN98MI34KXvSV+sBTOugo89CdPOsx9u1GVXpa+7KnU9BzdAexW88XPY+DsoXQ6qZp+PJpGJP9Ii30v5Gph63jEnYzAMIVMUZfFw/45gm1XAqYqi+BWpqZ8L7AReBq4xl7kRePoItuHgJEBKUn+rlPbJnXrsdug9ROGkufI/zSYha9sv88qSYBEygCu6/sZf+QZgmvpbzPFLU1bBqm/BwfWw/XEURWFRSWaKAXooWMOUG7tO7iYAQwhURWGSGWRZbHbwJQ8Ot0fguFTmR95hvffzTDIOEmiTGdu5sXq5snlDE7L8QXxPF80dZ/9/XtM/WeO+g5meJIN1s1lqmncNzLoc1v9K3vRMeI0e3vR8jkmVf0vNIYuObOpPRmmOH02BnKCbcf0IWZpHTwkwTcHuZwGF5qyF3Kz/i+om+UXglhWT+O6Vc+1OwGRYwbD9Z67aZKi1En53ETz6cehrg8adfH9GOd+/et6w8QxZG3+KXwlT0LJhwHMdfVEi8bhNrixSGI7F8eiaHXSaTArT7S7L5FT61PeTG/TYKfqhaNw+3l84bxrrv3luYsFoCH53MWx7xI61AQFlq6VZvfptmHcNs+YsJKp6mcF+PLomM7n+8kH4w2VQ+So+t2b73ty6ajcQ2N8ZhIAXvkVMledunlI5sMvyH5+DDfdLEnPxj6BokXx82gdgw2/kl8Qp5ySWD+QSzZvDGeoOnnu3znyv8rM2wAe34yl5zqI9UJ10Huq2gT8X0salLN7iloRMbz+Q8jgHXpcRQef+Pzjrq3DhD+yn3LpGk8jAF26GZ78stzfnKo4HDPfX9pNh/v34cDcohHgLad7fjIy8UJElyK8BX1YUpRwZffHg4W7DwcmBlKT+HjNTJlg4zCveR/AE5czOmk3y22BrxUBCpqm0IgnZkt7XWKBWkEdHQiEDyJwAi26AwvnwxKdg7Q9YWJrJ/pbeQWcLJsPqwjrZuzINIT+Dp0zK4cPLSrh+uSwRBT3Jyljihj0/LMlWqXEQb/P21JWNXyrPYxIhS4s18xvXT5jnG5ibdO3S8fI/5Ws4e9fdTFVrWSaS1tlcBiiQM1U2hIQ7oWKt/bRvxyMUKO0Utrw1oMty0Byy7iYwTPN/Z539hWDl9Dx+utJPfpqXQtPUn+V3yYyy4SIvdj8DJcs5MPuz5CmdxHY/D8DSidnccOrgMQYel4YQ0Njvc2eTofI18uc+c5B35gSmlP+Bi+el3sxTEI8R2Cq9dnFFR2FwU79NyJIUMo9LtU3lvmFM/ZCI/7DIWm6a215nbyRmN3wMQN1WSa592dCbRLgfvwUeMxOo5l2Dy+XCNW4uepNZco2FE8s+/Tl8ump72Dy6Zk8P0CyiuvNpqN5A+cKvExEac9XKVDLd1wZbH4bln4VrfwcTz4ALvw+3vQ3XPChVsekXwdyrU3bfNekMFmv7eHWP/OJhTSUYMAh88x/kNUnRYF+iHE3dVtlh3o9Qd3rN3LG2ytT1HHhDLn/mV+Ccb6V8UXdrKk1kktm+XW5vxZdhxqhdU0cVQxIyIcSqYf6dM9TrRgMhxF1CiJlCiLlCiI8JIcJCiAohxClCiKlCiGuFEOGR1+TgZEZKyTJk2oe9Gcduh95rBHJhz3Pw4PkQ7YXsVP9MskKWH60GYKpaI1O52w+A5pbfOFUNbvonzL0G1v4P50VlU8Q71cOXLbvMC3t9x8n9p2oIIRu4PDr/+8H5zDEHJSeXY+ySlq4xNSw70gqMRtzNOwgJk7BklIA7IBUHi2S/+B2mvnwr52ubuMYvSZrPpXH98lLOmp5HkZWnVfZv4qobQyhMEKbbo2mPvDFlloLLBxPPAk9GIq/OiKNuuB+A7M5dNiHz6KrMJYsbdhI7ILvQfrEY/vxBORXj8VukahOLoCgK6R55syxM93LFwiLOmJqL360NTOmPReQNtmkP1L8LMy+hp2QV9SKL3P1y33IHyVGzYBEcK4fNahC0FTKLkAHkz4HFH5PltK76IddJ7WbUcCfrjVloIkYOXSlPt/cnZLpKOGoQjsoh3db5HTyHbCAhO2OqjAvJCUiFLJcOYpHQ0IqkpXQu/pj6Qxt9AAAgAElEQVS5olJZKhQGnP01uO4vkGGS88J5UL8NuhvlMQapZrUfYLG6116lR1fteZHtYZOAvvELyJtJZOGN7BUlzFH2p5Lyms3y5/QkAuNNh7zp4EmTitT1f4O0fl+MS5bjI8RMRTYS2FMjkkvS3U3SK7bwehi/TF7bNv8Rfr4IGt6Fcf28ZoDm8dNAtiSSq78tvyxEQ1C9ESacPuih9OgqjcL0JXoyYOXXB13uWGBUerSiKHMVRfmQoigft/4d7R1z4GAk2LEXCtBnkgdf5tAveL+hZHnq7/0ImUfXaCM1NmCKUisv+m0HJAGwfBPeDLjyPig5lWmbv4uuxHmnagRCZgZH1nX0Dbvc+x4iaVoEiVE4yeUY64btUWNMCMubZF68Ab1pB2uMJcTREvl5i26QI8B+dQas+zFazduge5kc3m2uV+N/rprHHz9xSmKjB16nLWcxu0Up46JV8sb04AVyjFbBHLmM7obpH4A9z0L5i7Lc1VZJmT6NnGgdok+WqTN8Ljso1r4Z178Lb//WVNhehsduhgOvQU+jnBDRVU92y0aIhdFWf5OfXZDBotIs/G4tNRS2sxYePA/uPwv+ci24ArDwowR8brYbEwl2S6UjexC/nAWbkLWH0FXFLo16dU0qQpWvwoLr5c122vlSsQH5fodC+YsIFB6PS/N9oZI6jEaWLI2UUN9QcskySQG14HNpaKoiSVxHNTTuJsOc6Xnp/CJ0VWFqfhCXqvC852vcFH88ZQh4Cpr2gOaBReatN382zL8WFnwEVn4DZl2aWLZwrvyC+uNp8LRpjF/xJdB9XBl+hlmKLO9lBdyMz5Jl9uY+IY9d3VaYfiF5GX62GxOZq1bi7a2BB1bJz0DNJkCB4kN0LY2XjQ4WIfz0WZP58yeXc+6spIiishcAATMugqWfgMad8I/PJ+wohQMJmd+t06TkQsN2SSb3/kuWK+PhRHZjP7h1lS5hNnZMOhP0oT9r7zVGJGSKotwF/ML8twr4IXD5Ud4vBw5GREpS/8mokJ13F9y+RV6QQV6kk5CskFmYqtQkSpZZE1PXp7ngtFtR+lq5MvvgiMZ+q/ThlCxFyoB7y9SeHHppeYzS23bjNgeQTAztRu1pZLMxjQ0FH5I3V5D+m0U3QCwE1z8KX9oJsy4jrUXGIwzw3fS1Q/12OguWsU+MI7dvv7yBh9rh1Nvgoh8mll3+GekT+vPV8madVsTq/JsB8LfKMleGz2UHw7p1FZr2wq9XwMvfkze5U2+DXc8AivT1PHcH3DuP+e9+B9bdIxsHHvkYRPvI8rvtuZkAbHhAGvnHnyJV2lNugUAOAY9OlSggKyLHn+UMo5CVtG9kmbKbuo4+sgJuW4HzuDRJGqK9MPNiuO0t+bdRMEd++djzr6FP4r6XoGgxuwxZbi4ajJClKGRynmYk3k8hS2rgUBQ5MN6ja/DIDXDfcpb7aylM93L+7AK2/9cHmJofxB1qJE/pZA4VAxWy1kpZkqzZLMvOOVNg6vkw8xI472646tcDyngpxKVefmYYtxBmXsJpoVd5yv3/mJwhh5UvKs3k7Ol5fHSWW5IaIwrFi8kNetglJpCtdJNd/qRUGO8/W5Ld3OmHfp3NLKXHnccSk5B5dI0V03JTl9nzvJzZWzgfFlwH1/5eEutbXpQer8krB6x2an4QjzXJwpMOb/5S+hJdAZh89qC74tZU2jGVuXnXDLrMscJoFLJrkMb7eiHEzcAC4CS66zk4XiH6EzJVB9fgLe3vS3jSpN9o5dfhzsoBMzw9ukonfmIi8Wc+VamRF/32AzJstj+mnAOam8u9W9la3W4f4/4QQtgesvrOk71kSQohS/fqfPUDM1Lm6vl0FRWDQNNGAN41JlLSJw397xhTeGXiF2H+hxIrvezn8IVtUtHKKIbiJbh76/kf/TcsVstTd+DgW4Cgt/BUyo1iAn215pgYYOnNkFmSWHb8UrijDGZfAb0tcMothPOlKTutTZZSLYUsGhfS0G0Zpl0B2QBy3l1Qepr0CZ19J+heWPQxBIpUKRRN3tw3/Ib7rxzPN89J+lxWroPiJfDRv0tCceZXAFnePSAK8IkQhVonaUMluLfs46wNn+Hvnv/mwsbfkOV32V4tr0tNNLnkzYT0ceDySsIy/UKp7EUH+fJwcANUb0CZeTHNqhxkXqgkUtzTPDqRmEFnXyzJQyYbC8JR00M2iKmf7kb+4P8516ov257AVa/dwPppf8KtJqmmXbJDUP5t9iNXO56Qpv2qN2RZUFHghsdg8TBFKnOaB7OvkL+nF0vP6SU/5tnsm/AoUVZkSzXU29fIHz5xCpMytEQ5smgxLk2lXMjzFqgyvXgiDvvXJUz8hwJFoS1nIUtNQqbH+yR5ipsZe33tstQ846IEwZxzFVz1K/mZvfb34M8esNpvXjyLaZ94AC65R5LvA6/LgNyp58oy/SBw6yqPxley9+JHjhszv4XRELKQEMIAYoqipAONQMkIr3Hg4KjDagqThKxdfmsbpovqfY1BLlby5qHQbhr7G0QmU9VavEa3NOdmDkLIPGkw6SwW9r5Be2+EhiHIVihq2IOCG07yYeSGECkfO0VRuG3VVGYUJtTJmyJ/5Tn3N/DWbaTNXchmwyxPqjoT557G8n4zJlG1VCJVvASA6/WXuSHyaOqytVsAhQkLziR74lwUhOzG82QMPtdVd8NV98MV98Gpt5KVN45akY2vJaGQ9YRjxA2BW9MS3qtb34QJp8kSz83Pw9W/kYrbF7fBpffQlTZVdsdNOF36mHY/y4SnriBvrdkVGO6S+zrxTGktWPElW2nxuzUOCJl1NdfXOrAbMtwFvz0f/nQVhuZmpzGB+eHNZPrcKSOFaCmThLC/+jv9QqmcmfEP8sQZsPUR+Mft0ku5/LN0a5nE0BmntNrdrcWm36mpO5xSspRdlobZZdnPQ2bE4aELWdC9jtOrzf60pZ+QXc07noTGRLK9u0MS3vFKM361XwiwRZIAcmcMPJeDQffIqImzTW+UVQr3ZfFupsynW+JrkCrqPTPhNXNcUM0mCOTbXrRyQ2aze+o3y8/RRx+TXwD7GfZHi57C5YxXmilRGsjZ9Sd44ZtyxiTAtkelIrzoY4e+4sJ5sOyTsOwWmHIuxPpg5qVDLu7WVeJoRMefdljv42hiuNiLXyqKsgLYoChKJvAbZKL+ZuDN92j/HJxEiMYNu/tmNDCSRyeFOsB7EvnHRgHr5mERslfiCyhU2khvN42+/W9aFmZcTHrfQaYotQOynixY/jHgpB9Gbnr6h8W86DZmqgfRy1+gOjCPGmGWawrmcM9HT2XVYMGbySicT3ScJGU5Rr9IkuYyyCwhLS2DGy//gHys+m0oWjB0tpLLB4s+Ci4fxZk+yozxBLtkFEqG32VHI7h0RfrZAIJJ+6godq6ThdZsUzmZfDZMu0BGqbRXyXKgYUDVW1JlmbhiwO4EPDoHTUI2090y4Hn2PC9jEMKdVMz/MtuNieSINtK8uh2NIQlZufxca/0aCSaukArf3ucTj73yv/Dkp6GrTiosniC6rtOi5VKYRMgsA3pjZ8hWyLwaRGMx00Om2h4yn9s83rVboHWfzOnqMBPx534QLvxf+f/KRBq/3rEfAFURTKAOtj8Bv78U/n2XNKfrZsk3b/rA4zIc8mdJNSvJS7UrnEtUaExXa2R5F2DNXShGVBKy4sX2l9oGsugSPknwc6dJP97tW6RqexiITpDZiaerOxPEY/86aebf8IDc16KFh7VuQH7RuO5PcPVv5bEeAinjyo4zDLdHe4EfAZcC3wTeAs4HbjRLlw4cjCn+57ld3PjQwAygoZASexHqOLn8Y6OAdeFpVyQhW2fIQSeZVaa5eai5bWYH1fnqJtp6hyBkpn+sIN1DfWdoyNLmyQAhhMx7GnoBSqPSrK7Ew9Slz6fWImTFoxwL7PISvmk1D8QuoSh2IBE9AVIVsgKR82fD4hsPad3FWT7KRTH54SoUDHKDHnvQtVtTZbeeJ2PIEpCFprwz5N/gzEslIbMQapeNBC99RxrT+zejIBWnavIxhMKCQOuA59n+hCy9fbWC5tk3U08WebST4U0auq2b+XqWIpQMl1eqUzufhsZdMvrjlR/Awo/C1/ZLz5n5fpvVHFMhk+u1jO89kbh9E//Intt5Uv064UgsxUNmz1QsXwMocM63E/tQOE+qnlmTJBExoXXst20Fk6iBLX+SpbfX74XuelnWXfYpqf4cChQFPr0WzrrDfqiqI8Z+UUhRtCqRRQiMr/4nNO/td24U9gkzKiTnyPMdveNm0SAyOUPdjitsnuP9r8EvT5Ge1rPuPOJt4A7IZgdt6CFE1jkcbejxe4nhYi9+JoQ4DTgLaAEeAv4FXKUoyskRh+7gPUVNWx/VbaPv2EuJvehrdwhZP1gXnA7SEf5cdoiJAKRVPi9Hngw11SCjmFDefM7XNg2jkElCNj7LTyRmpISKnmzo7yEbgI6D+EVigHtDxgKqTDXI6j4bDby6yh6jRDYFNO6SfighoLk8QUIUBS77Gdz0bMqNeDiMz/RTLorwEma80pLSFenWVUkK0gqGWYNET3AifL1KKjPFS2Usw8KPyicf/bg0qF/zELgH+jwVRSEsXNSRzQxPP0LW1y4zxeZcBaqKx6XSKLLQFYNxepc9JcCrK5JkDEUezv6aLGf+9jx4+vNSSbvknhSbg1tXaSSbQlrt5omSbH/K8xhxSjs2Mkut4trYP/C4NJuIed1JhKx4iVSVdJ/clnV9mnQm7H/dTtlX2/azWUyTkSXxg1JVnH6RJG4gidglPx6TDvIpeUHKRDFpXeWSyGeUQkYpEw6YZfAJZ9jL6qrCPtNHNhaELMPv4Q1jDqepO9B7G+WDoXZwB+Gzr9mk+GjDui6ONvT4vcRoRicdEEL8QAixCPgIcCWw+6jvmYOTDpHDLVkqSIXsZIq8GAWsC8/ftEtQLvguB0QBEaHh6qqWXhCXd8jXxqddyCKlnL62gUOYIZHSb43picZPXoXMMEcnDYkG6Rd6jHMhbxbt6dPZJiazZu4Phy2t9IeuqVSo5lzCX58Bv78EOmukbyv5hqkoskTnHjh2aDCk+3RqdLnemXqtbZKHJIUsODIhS4Gmy7E5l/9CEn9FlUb+WUN7ewAOGAWMix1MffDt30A8Yjc9eHSNBiHnfBYq7cwtymB6QRBfX730Dw1FHsbNh8+8Ig3/HVVwwfcG/A24NZVGI5McpdMuWU7JSxxHt64mYhiAq9VXTYXMLFm6TM9dzSaZ/aV7ZHbY3KRuvllXQLgD7p0PLftQ2iooF+M5KPIoNaokIcuZIsubpaYfb4xwz3ULWLL0VNS2Svm5zJ0KMy9Gj/dK4phk2H/wpmXEs80y6WCq4yEiw+diqzGFPKUTV/MOKJgnU/RvegbyZx7x+kcLq7x8QilkFhRF0RVFuUxRlL8AzwN7gMNz9TlwMAwiMYO+wyBkSrKp34EN68KzTZsDCz9CHI39wgxszBv+AuiZcymqIsiqfnnQ5y0PWY5JyE7meZaGYNiRPDTI5PznCm+D29aj6S5AoaboA9L3cgi4/pLzE7/UbIRXzEiLI7hhKopCT7osX8/QalPmTro0VXrIgiN43AaDyyd9Zpf8WAaXlg4sVfbHJjEdV8O2RIxNqEN2bk6/SHYPIj/X9UI2QeTTyiXzx7H6S2ejWnNdhzsW6UVw83OylDcIOXTrKk1GkDSljwyXvBZNyAnYo6/cmmqfz3eMyeQqHaaHLMnUv+EBqVxaXbMX/wjO/c/ERqadB59cI03sT90KfW1UKUXsESXMjWyV5DOzVKbHf+L5Q/6MDId0r4uCWWfKQNnGnZIszzBz2kqWpWzr7Ol5fOgjn5SqmXnsjwRuXbWvP67mXZA9UZZ0h/KyHiWcPiWXqxcXk+Ufu+M6VhjO1H++oigPAdXAp4BngSlCiA8LIZw5k2OI379eyT+31R7r3TjmiMYlIRutH8kiZBo4HrJBYHklrLEok/MClAvZOTUSIdOL5lNLLiVNQxCycH+F7OQlZEKI4U39NVsgs5SHPis9QEfiYbn2tOmyOzZ3ukyh3/wH+cRQ5edRIj27gGaRzlSllnSPhgdZqnbpKnQ1HLpClozJK0c1mubuy2azaOXV0vhfvgYad8uh96FOWPUNe7lkhSzbSCpvmkSpfx7fAOieIaMb3LpKfVx6Lks8vaiKHAFlzRF16yo07MBQNNYbs8mmC48m8OmCUqUBH2HZOTjrsqE9miDJz5KbZONDWhG7Ci5jtyghzTAnBBxNkjL1XJnLBpK8TjiDXl+RjMroj8K5ksB60gY+dxiosDxpcMzG3M0uSueeDy20SfbxhKGdb/AN4K/AV4QQI08adnDYuPsZ2W5+6fyiEZZ8fyMSMxACM2xRG3F5iwNoRlh+q3S6LFOgKApuTUUzs40e/tSpNDy1ACo2SJ/P8C9mvWs5l3auYVdVAzNL8lNUoK5+JcuTWSETw3nIWvbJzr5Tb7Ufsrwrh93ldeuboLqkEfqhC+QIrPQju3YUZ/nYV1nEZKrJ2/Vz/u1+lPMjP8In+mRJ9EgI2Shx0xmTIFYMG4LwxGdkSClIU3uSQuNxqTSTQVwoZMaT5jrWb5e+tUEiYEYLl6ZSH0sDN1xb2sVN49rI9LnIT/dS1xGyCVlPcCK1rTloiiDd6KK4+TVect9NZ1mPVOuXfXLkjZ1+u0zGX/VNFpXns7umNPFcZunQrztSqJqM4Hjxv2R5V3OxYfmvWHnKyqO3TRM1QnZ5upT4qHyJJxuGM/WfI4T4rUPGDh1fe2wbL+5qONa7ccIhbN7UQ5HR3dxthSxyEqb0jxJuXbUVsoJ0L/OXmenVg4wh6Y+d/lNwizB3/+pPPLmlhljcsNXLgR4y+dzfNx48JB/g+wHDeshev1eSp9M/bz/kOtIuL3dAlpbypsMd5fC5t484f68400+ZUcwkUU1G00ZK1Sau1tYRjJqE5z0gZIB8XxPPlGTs9Nulx2jlN1IW8egqBnJAdFq0Cd55GH6xVEZ9FM49os27NZVWc7rFhF0PMOm1O6DiZb7d+0OKaDYJ2Xa6M2fQLOT1Jj3exvT4XnTFIGvzL+X5HqSTdADSx0n1aeIKVkzNZbd4jwgZyPy4i3405Hiho4U4WqKh5RgpZMczjj9X2/sAT2yp5vXyQbJ0RkDbEB1tJwusTr1QbHQ3dIsc6JFO+YBDyAbAraup0vzMS+HWt0aVadSRLpeZplbT2BXmzB++zN/elobrrlAUv1uzgzCjccGehi6++tg21u5pHPs3chxjWA9ZxSvSo5M0bFk3FcsxMRVr+ph87q3oizR68DW+A8BntH8SCJvXscPxkB0uLv4h3PgMXPAd6THqlylmqef1Igt/yMywaimDtkooODJCFvDoNJuDaALN5tihp25jWc9aPqc/hV+JQvtBwplTaTEJWZrRTn6vjJBQuutkltcIESH9saAkk/2iUA6aDxYc8usPGe4ALP/0sPEQRwuVlo+1/wByBw4hG2vEDUE0Lg7LU1PR3H0U9ujEgXXM+iKjI2R2yTJi+i6cLssBcGv9CJmijL6jKa2ITuFjulKNz6VR1xGivFF+RrvDMYIe3VZ7IjGDHtNX1jvK8/d+gcwhG+SJeFQOle7X9ec+0pLlUUBxptf2FyrxMPuMcUxUG8hsleTMSm9/T5BZCpPOGvJpi8geFPkEGzfKOYsWjlAhS/fqtkKmxswIni7p7/2g9ipFnVsBQTRjEs2kAxCMtkLDzsRKSk895O26NJXf3nQKRv7sRNzF+xSVlo/svVJdTyAcP1eE9wmscs3hELJ9TT1jvTsnFCwf0mg7LRMlS3MItuMhGwCpkB3en3l20EOZGM90tZoWU73tNBPcu0Ix0ry6NH1jRZbI8xc+yfxk/YeL2+iolgb1fgbtIy5ZHgUUZ/opNxI+tBeELLll17xkjiI6fkiCpiq4NIV7YtfKOA0UOO1z8ufhzFlMQppXpxsfYZGqyr074UY8SowlVXLUj5E1mSZTIcvq2CljLCwbQOnph7Xtc2YW4L/m13DZvYf/Bo5zpHt1thmT5czho12WPQHx3uuV73NYN6PRBmUmdxTuazpyhSwaN9BVZfg2/GOMuCH45cvl3Hj6RDJ8iQufRchG60Gyc8gi5nEbo06g9xMkITu812YF3Ow1xnOBtpFnuuVMy04z7qIrHCPoddnDkJPHXoVPOg/ZEKOTrKHcAwjZGJYsxwj5aR5atBx6FT9+0cur+mncKp4i0LhJ7v8YRi+MBTy6RmV4HLEPP4K7rUzOQFx4/RF3J8oMNoVm0immRQbbuvzsz/8MOfufYXK3HBIusqfQSTcRoZHbaE4SPO9uOcZq6nmHvwMFI3SInuB49vYz2XxgDsy8w6loDILj54rwPkFCIRMIIUaMcIgZiecrjlAha++NMO1bz/Pga5VHtJ6jjVf3NnHPv/fyX8/sSHn8kBUy89hpMTMF3TUwAfxkh+dIFDK/mzIxnhyli2iHbFLp7JNlya5QlHSvbpfdokkK2cmW2i8Yosuybb/8mZU6xH1CToCAW6M48yj7hA4BqqowLsNPnasUggXUeacREi4UYYxJSvtYwwpjdU8+Q8ZHqBoUzDni9ab7pEZhlS0pOQUu+THB9Ay2GOZx8OfgCmYBCi1kEGg3c9KLl8Cpnz0mvqwTBSXZfq5YNB58Wcd6V45LOIRsjGEpZNGYwVf+vpUvP7p12OWT4wLqO45sSHNFsyR0/9h6fGeaWcpAbXvqmCTb1D9qhUz+VKPmekaZTH4yQXZZHt5rS7L97BXSO5TRsQtIKGTdIekhs85lJJaskJ1chMwQYvAmx7YDoOpyBmMSZhSmseO/L6ToOCJkAJ86cxJt82+BM+8g6HMnzNdHmHF2NODR1ZSJAmMFa52WYd9S3E6dlENnthm9kT3FDl1uEdJHRvFSR/FxcMRwCNkYI9lDtr+5xyZJQyHZb2OZokeDF3c18KMXUidYdfTKm2VyGbA/hBDUdYx+XuTRgHXzajf3F+R+WeN3QqO8odtJ/THzGDuEbADSvC57Jt+h4tTJ2fzgi7fQRjrndMosaLtkaXnIkhUyszv2ZPOQiaE8ZG37pU9GHTlT73jAx06byNJLPwXLP02615UwXw8XcHqM4HFpKRMFxgrWoPIW07BPplQ3fW6Nj1xtjrnKmWJ3ehYqZjDtoo+O+b44OPngELIxhkXIInGDaFzQFxmeZCUrZD0jLJuM1Tsa+OtbVSmPWYOgM4cZCfFuTQenff8lfvFi2ai3NdawbthWuCiklrlG22Vpe8iivdJ4rB1fPpfjAd+5Yg7fueLwOs8URaE4P5fH9Es4Lf42M5Qqm/TLLktXossyLpJM/SeZh8wYpmSZOWHg4ycA0rx6QiEbgzmGYw2PrtpDxccSlkJWL7IQmie1u3TcAtk4VLQIjzm7skOYXwLnONMEHRw5HEI2xrBLlnFjVLMZrZtXpt9FT3j0N7JwLD5goHNjlzReZ/iG/uZodcv95N97qWk/NkqZZfru6EsoZMnEdLQeMovDqdFecAePOBzz/YgJOQEm5h6Zcvhvrxx7s0LdTlc4Rixu0B2WCpntIUsuWZ5kCtmgJUvDgNZ9kH38dCceCtJ9LjYZ0xGugBzRdJwh0++iIM078oKHCEshezB2MX3XP5Wageb2wxe2wrJb7JLlTdE7abnmcadc6WBM4BCyMYZ1U4rFBZG4MaLaYxGRbL+bnkhs1HMcwzFjgHm6sUt60PRhTNxGUhPBhspDD68dC1g37O6kEm0yITvULkuivfJi6eCoIOzJISRcFChtCAENJvGXsRcKxTQxc+e9hCOSYJ9sHjLBIMGwLWVyvmrxkmOyT0eKNK/OS8YiQl8qh0DOsd6dAfjpdQv57yvHniimmwpZK+mogw1D92WCquHWVBQFDooClGEy0xw4OBQ4hGyMYZVtLIVspJBMi5xkBdwIMXp1KBwziPUnZJ3hlHUOhuR8tLG6cYaicR58rZK4MUoymbRdi4Amq32haJy4IXjnYPuw6xF2ybLH6bA8ivC6depEtu2XqWmTyqqlkD3v+Tpz9v0Gf7eMeTjZSpZisNFJBzfIn+OXvef7MxbICbhxaSouz9irUGOBcRk+8o+CQpbsS3MNkxejKIqtknmOo/gSByc2nE/SMGjoDHHf2nIae0dPXKybUcRSyKLxYVUvizxZMwG7R2nsD8fiGIIUEmQpZMPdEJOJz3DErba9j88/vIXefr62e9fsHeBdW1fWzHf+uZPtNR2j2vfk0Uhd5vtNVcgM/rW9nit/+TpVLb1Drsfilkq01zH0H0X43RoNJAiZ1R0b9LjwtO0lXZG/ayE59vbkK1kO4iGr3iBHGh2HHYqjwQ2nTuBPn1yOfhxNE3gvkNy5OeR8UhOWsd8hZA7GCs4naRh09EX54b/2UNE+8g3GMAT3v7KP5m7p0bIUMiGGv0FZ5CnbNOKP1kcWTlLiLDSMQiGLGUkK2TDEbX1FC89srWVXXWfK48+9W8dLu1MHp1slxqHUwPqOEJsOJGbUJytklqoXiSde2xeNc6BVdk4O1xGaWrJ0CNnRgs+tSYUMUyFrTyhk3t1P2svp4VRCNtry+4mOQYeLH3xbqmOHmQF3rJHpd3Pq5OOvVHm04XUlztdI4doec07syUZaHRw9OJ+kYVCSJctgjX0jE7Kyxm6+//xunt0mM8CiccMmS8OVLSNJJUsYffRF/4kAQghbIYsMV7KMJSlkw5Qsrf2wSJ6FmCGI9GsmiI6QH/brV/bxmT9tsn9PXq6x01L1Uk39DWYmW1vv0APXLTO1EnFKlkcTPpdOg8imQGkDhE3Igl4dtb0SQ8gbl8scYWUR/eseWM9PVu85Jvv8XmLAcPFYBJp2Q9HiY7dTDg4LhzLhxONSHXXMwZjC+TQNA59bIz/NQ1PvyN/0Le+XrZDFjFElzydKllIqHy0hs1h2Fx4AACAASURBVNYdtSIkwrGUWYI/f7GMf22vG/C6aJJCFhpGIeuyCVlqWG3cEAO8ayO9z+5wzM6vsvbPgtUZ2t9DVm9u1+oKHQz2DEFHITuq8Ls16kUWHiVGNl22hyzdq6O2VbJVyJwqj0XIogZCCN6t7jji6RMnAkT/LsueRkC8twO5Hbzn8OjacTX+ysGJD+fTNAIm5PhH5SGzohyauhJlQ2ss0nBZZLZCZpUsR5lFZqkQFpFpTFKyIrE4f15/gGe2DSRksfihKWT1/QhZLC4GDE63fh+qozRiklPL75ZcKm02ZyT277KsN99Pa/dAQvbo2wf50/oDxAyBpigQcQjZ0YRVsgS4UV+Nu0Wm9qd5XdBayW4mElc0PDHpIQzHZCxGXzQ+6iaVExmiv4es2yzpBwuOzQ45eE/g0R2FzMHYwvk0jYCSbD9NfSMrZKF+KlGyOX+4kmV/U/+oPWSxVA+ZFQqrKPK5vmg8JXjVgrW8S1OG9Zp1m69t7FeyjA9SsgyPoJBZZMtqEAhFDbubqXsQU39fJG6XMgdTyP66oYq/rD9Ae0+UTL8LIt1OyfIowufSaDAJ2Rf0J7ih+3cABI0uCLVTrY6jT0vHZxOyuF3qHm3I74mMAR6y7kb5M5h/TPbHwXsDSchOjCkMDk4MOIRsBEzIDtAWEkP6o/bUd/HJ37+dEnIK/TxRR9FD1p+QFaZ7ZSBtJE6XWSZ852A7v11XYS4vyVTAow9r6u82iaFVsozFZRkqNljJcgQPWaSfghaOxfG7dXwuzX6/lqnfran0ROJ2KXMwD1lrT4SmrjBN3WHy0jxOyfIow2eWLC0sZSduJYa/W3bb1qvj6NUyCMRkA0g4Zth+xpNBIZNexsEUMoeQvZ/h0TVHIXMwpnDG0o+ACTl+BFDd1svU/LQBz3/pkXfYWddJac7QCk3vsB6y1C7LUcdeRFNLlhZxKczw0tYTIWYIW+X65O/fpqUnwhULi20yFXDrwytkYUnmGjpDROMG0771PLeunELcMAaWLGNWaXYkhUw+H4oaeF0qcaEnKWRyHek+FzVtfXZ5s3UQhay1J0JPJEZtex/j0l3QGnII2VGE363RRCKJPKCEOc2zH6VNfkbq1XH0aOkEwiYhixq2sjrakN8TGTL2IukBSyEL5B2T/XFwZLhiYRHryppHXC7D5xoQzu3AwZHAIWQjoCRbEq2q1sEJmeWxGi4UNXQICtlIQbIW+itkNiFL91JpDjS3SpYZfhctPRHWlTXZywc82ggeMrkfjZ1hez1/3VBF3BADRjZZ6tbIJcuEQubRNVRFsddtXdgyfDr7TCO4riq09POQhaJxm8RVNPWwpNAkCg4hO2rwuTTiaNxR+giZQT/f3HE5Z2rboU2emybXOLrVdILGQUCeS0shOxkImTT1Jykl3Q3gywLdc+x2ysFh42cfXjSq5f7zstl2U5UDB2MBh5CNgJJsHwDVbal5WA++VsmTW6ptBaetNzrgtRZG4yHzu6X8PZqSZSyeaBiwiExbTwSvSyXD57LLpxZxKcnyU9HUwyt7myjK9OHSFLwubdiSpdVl2RWO2Y0KPpdGe290EFO/qZANcfMNWyXLaMx+z16Xijvp/VqkLXlg8NT84ACFLPn3SNxgnN/cpuMhO2rwuaVPJuovYOHMArZtn8SC2DvQEIP0YuLCR5eSRoHoAqR6a3vITgpC1i9urLvBMfSfBCjO9B3rXXDwPoNTAB8BVimxPzF4u7KV7TWJ0NT2YfKyhitZRmIGqiLVoIBHH1WXZbJMbnVNtvZEyfa7cesqVh5ndzhG3BA2MVtX1kwkZqCrsjtouJJlTzhmt/Lva+oGTKXEGNhlaZGpZDUkGk90VQ4sWUqFLOjRB5j605OSsmePS6e1N5ISMNr/PBR4zW06CtlRg98kZH63xulTcnndmMtCZR9UvAwTV+DSVLqUNDLoAoTpITvZTP3JHrJGxz/mwIGDQ4ZDyEaArqn4dGjvp4AdbEsd6TNcgOlwJctwLI5bV1EUhWx3DHqGH/j96t4m3ihPLJNcsswKuAeYTLvDMdvc39oToaMviktT8OjasOWk7lCMogz5DXBfoyRkXpdGzDAGlCztLsuk93n1fW/YoaCRWGqSfzhm4HGpBL26XbK03odmmnFWzshjemEakZhBT9J6+3dd5jmE7KjD65KEzOfSyQ64ed2Yi0uJQ18bTDobt67SoaThIYqPMDFDUGeGx4ZOgkHjA4JhHYXMgQMHhwGHkI0CQZdiK2CbDrSyrbp9QAmzrSeVsKkYKIwuqd9qnf5C/I98sfIzYMgcp/vWlqd404QQfPyhDdzyx42J1ycTMr97QBt2dzhGZ19yBEcMl6bidSUUstU76tnab5B3TzhGaZJ/DmQytSEYOofMbjQw2FHbwcb9bSn72Jdk6rcUMksRtBSyT505ma9+YAa/+fhScgJupirVKVlkrT2pMRy5LvO4OyXLowa/WzobAh752fr1N29F6OZg58ln49ZU2pH+ymK9k/tc9xJs2QbIc9+/K3co3PnYVr70yDtjvPdHHynDxYUwFTKHkDlw4ODQ4BCyUSDoVmyP2Ad/9SaX/9/rA2Iu+pcsH3Z/l2/oDwPQGx26DBmOGXba82xjL7mxeqjfyvee3cUP/7WHl3Y32stWNA9MPbdMpW09UiHrnxzdFYrSFYoS9Fi5X3F0UyELxwz21Hdx6182851/7rRfI4SgOxKjOCvVP+cyZ7YNVbLsjcS5d81e3jnYjiGgrLFrwPPyPcelQubR7U5Qi7QtnpDJbaum4tJUpnWtZ43nTmI7nra3ZZn8XZq8A2a5zGPrKGRHDVbJ0vKSpQfTUCaeCXkzIWM8Lk2lOS6P/wrPPi7WNrAs9LpNUkKjND7vru+yPzMnElKGi0e6ZQyLU7J04MDBIcIhZKNAskKWjGuWjGdOUTpASlkNBPOVCmYr+4GBJUvDEDz/bh094ZipkKlgxCmJy1wn9q6mwvRtJZcg11cMLGdG44l4iGy/a0DJsr03Sk8kTm4wkXPm0iwPWZy7/7GDmCHYcrDdJpm9kThCwHiTkFnlWbdNyAafZVne2M29a8r4xUvlgGx0aOkO20qcFQwbjhp4dY2gN+Ehs5ZxV7wIf78ZOmqYWP0MAJnbfmtvq7Ungq4qTMiRBCBTN4mxQ8iOGnxmydLvSlJfr/o13PA4AC5dpTKWC8BKdQsAk5R6ikzT8y9eLOObT7474nY6+6L0jjIY+XiCIQR2wbKnSf50Ii8cOHBwiHAI2SgQdA3eRfmxUyfw5K1nDHg8T+nEp0TIU2Ryef+S5QPrKviPv2zmsU3VCYWstQK3MElf2Qv2SCEjydD+5r7BCJksCXWGYmT6BypkdR1S3coJyhZ8m5C5VNIjTWzZ38ji0kzihuCNcpm9Y5Gk3KAHt65SZw761k1VKm4IjKRSqqWAWSGyycSxvLE7MetyEIUsGheEY3GicQO3pqLsehp2PAH3n0nGgdW0iDSymzdCnSyBtZpKYH6aB7em4scsHTsly6OGgnQvq2bksXRiduLBQK49q9GtKeyIFBATKqfG3gZgslLHRJM0r9nVwLqyphG30xmKjXp02PEEkewh6zNL/97MoV/gwIEDB4PAIWSjQMClDGraL8n249IU24huYZpHeqfylXYC9KH2JQhKR2+UH/xrNyDJVNjykDXsAOBVZSnUbKavS17Yk433W6pSfV7WOtpNZSs7ID1kU5VqgkhVq7ZdkiRbIYvE0FWFdCXEY9HPcY3yEufMzCfNo/PKXnnTtAhZmlcn0+eyfWzJnWTJQ8qtcqPF0ZLHIJU3JQiZ1W0ajkpV0C6jhqRS6NZV6G6CjBII5KPE+rhb+Q+5orLVgDT15wTclGT5GZ/lQ4maZVxHITtqcOsqv7v5FOYWZwz6vEtTaQ6rVIhxeIX8IjFJqWdCtpepSjX+zooRuy2FECe0QmZfAkLm36jPIWQOHDg4NDiEbBQIuhVOj7xJrLUK3bzy+t0aWX4XiqIw09XIM+5vUkArAJNd8meW0s333b/ny1W3YWVRbK1uT4mliMRNItK4EwOVP4fPBAQTInuB1BynwVL8o3FBm9l5mBVw49EET7n/H5/VZbmvxux2y7UVsjguTaUoegCfEmGGcpCsgJuFpZnsqpMxHpavK+jR5axIE8m5Zclly8ggHqHsgBu/W2NvfVfSkHXT1B+L43VpBN0qz7q/ARsfIhIzpC+spwlyp8OnXoRPvEBF9lnU6iVQLZWXlu4w2QE3X7toJr+7eRlUbwJvBvhzhzx/Do4u3LpKJGawW5Taj3mUKLMDndzv+infFvfb537TgVaWfvffAywAfdE4MUPQE4mlxJycCEgZLu4oZA4cODhMOIRsFJgb28n97p8SfumHNrmYUZhmlymu19YwT93PYrUMgIlaQhFboW6lIFYLdVsBaEnqEuwKxQhH49L31biTvrQJvGXMAmCBsg+AvkiC7IRjcZsQWojGDbucmuV3kR5tJqiEmKFUA9jxA6klS4XCyAEASpQm0r0ucoMeWs2bpBXWGvDoZPrcie0nRRgkd84NNj5kfJaPiTkByszIDJAeMivp36Or5EVrmKMewFP2TEIh62mShmh3AEpPpSTLz1amQ/Xb3PXUu2yuamd6QRrZWh8TlEbY8xzMuBg0J+P4WMFq9thtSEK2y/y5qG89U9Q6Jin19EXjCCHYXtNJc3fEDo61YHUCGwJOtKQMQ4hEMKyjkDlw4OAw4RCykWAYXN76IADqwTcB+OoHZvD7m06Rz8djXGi8BsBsTxP3uv6PVbF19suzMcNjdz8LJLoE/W6NrlCUSNw09XfWomaW0kGQNm8JC1STkJkKmRAycDMnmCBIIAlZp1myTPe6yIjUATBRqec8bQtFTXLf8oJuzlU38Yz6FdKVPvJCFiFrJN3nIsvvtqM7rJT+oEdPSc4PJSlkySRsMIWsONNHhs+VEuTaG4nby3pdGoVd2wHwNWwhHovg1hQZGZBkiC7J9vFGeBL0trD2rQ1cv7yUr180E577Kvx8kbwBzrpswPYdvHewCNlOUyH7t7EYgCnlfwBk6d4jQoRjhp0j1x2O8tW/b7UV3M5QwqMZOsGqltLU7yhkDhw4ODI4hGwktO4jP1LFPmMcvo5ysugkL81DhlXK2/Q7cpCesZXqO1ypvcGUWDlRkZoHxp7nAOmBcmkKRZk+UyEzCVl3E56sQty6ylZjsk3IQklDxIWAnEBiPl463WS3bLKJks+tEQxJQjZBaeC/Xb/j9p6fo2KQ71N40P0Tpqs1FIs6ckP7ARivNJPuUckOuOgOxwjH4rZCFvToTNabWOf+AqepO0gPNxAwTfTJJcvkGAyrI68o00fAo6UQsr5I3H4/Hl0lq1123mmxXnJ7y8jUQhAPp0QGlGT72RCbKo+vt4JvXzILr67CvpdBUWWpcso5ozyZDo4G3Gazx0ZjBgfyz+XR+CqqlCI83QftZUqVRkLRuF1ef6O8hb9vqubOx6Ry3JkUIxOOnWAlS7CnWhBqB80NLmesjgMHDg4NDiEbCc2yDPlwXN70l6l7CJhBmWx/Ap67g62uhew0JjAnvtt+WR8J4rRDmQ4N2yEasj1Q6WZKfSRuyBtaTyNqMJ/JuQHW9kygSGllslKL6GkFIWxFKlkhu0lbzRVbP0O4TxrbfS6NYJ8kZG4lRhHNFChtnKLuZnr9M/brspQuMnsrAen1yRJtLOhcy1f1v9G9f7PtVQt4dK5u+hUlahMXqRv4a/cnuc/1M6BfyTJJIRuf5eOH18zn46dNwO/WUyYc9EbidryFR9dIa97KPmMcABN7tpGvmGpiIImQZfkpE+OpETl8KnODDClt2Qc9jXDxj+D2zc7N7xjDUsi68XPw/AeoFnnclfdTOhZ8mp/FrgLkF4S+aNwm6KpZem/pjlDe2J0StHyiKWQDPGTezCSG5sCBAwejg0PIRkKLzNR6On4GUcXNUnUvfjOxnG2PQkYpP8r9HvvEOFQMhCKfe8eYgiHkRXmtMV8u315FS3eEnICHoNdFVyhKOBYnXQ1DLASBPNK8Os/GTyWGzkPun/C5jedD1XrCprKUF0wQvfFKE5qIo3Y3ADJJ39dXO+AtXK6+Tl7TG/bveUYLwd4a3jEmA5Dd8Canb/sWt+n/IP3Jj9HcHUFRIKtrDzPbXyEqND6ovQpIQgqpqliyWpYVcPOhpSVMyAmQr3Uy0TiAjiR4vdGEQuZXY3iad7DaWEq3r4gZPZvJV2VMCMFEyXJyXgADlReDlzG+bQM07oIq871MPFMa+h0cU1hRKwG3RlGmTPD3Z+QTOvc7PBi7CJAKWW8kQcgs0t/aE+Hq+17ne8/tstd3oilkA7osHf+YAwcODgMOIRsJLWWEXRk0kUmNXso0pVoqZLEI7F8H087D7fFQJaSqo+RO5+A1z/KF6G20kEZc0XglIo36tFXS3BMhJ+gmzavTZQbDZguTiATyuWrReELeXKIzL2eiItUuGrbbylKyQlaoyG5OtVem+ftcGt6eWhqEvCFEFRf/jC/nEu0tfHUbeCUuieGUyB5UDF4xFgCQ/vznQNX4dexSXD11hFqryQm40Zul4rfaWEJAkSbsd4wpAESSbprhmGFHf2QldWXeUvkVVnu+xoOuHwPQF4nZ7yM91oJiRKkUhVTkrGJuaCOlos4+DhYm5AT45+dX8JHPfht0H/zxSnjtXukzy512iCfTwdGApZCV5gTsuZf56R68Lo1OgrSLACvVd9DLnrcJmRVC3NgVpjMUo6krYfI/0RSylOHilkLmwIEDB4cIh5CNhOZy+nxFuDSF/aKACUqDHCVz8C05JmXKufjcGlXCnF1XMAdj3CLaSKeFTHp846kQRfK5tv209oTJDXrskmVfJE42phE4mMf1y0vZdtcF+M65ky3qHPl4d2MSIUsoZEWqJGR6r8wP87o0PN01bDGmEcJDKHc+j8XPJkPpRettYo2xGEMolERluXKjMSPxNlf8F6vjS+VutGwnL80LbfsBeCq+wl4uhrzhxpJzyGJx0r2yjJsdcNvHrbCvjLDQmaPuZ6W3jK90/4RwRN6Q0+LSd9dCBt8/OBsXMS6Jyqyx/innc4szcKXlwcefhoI5MgT2jC84ZaHjBJZCVpzptQlZQbrX9hMCrNB2MGH1LfYs0s6+gUHLFsLxE0whMwBHIXPgwMERwiFkI6GljD5/MblBD7sjuZQoTQR0A97+LSgaTDoLn0uzFTIK5tiKwQucTt3EK2kmHUP3Q2ulWbJ0k+Z1MaVvGyLUSZFuzu8ziYiiKJA/izuD36dNy4XOWjsDLDeJkFkKmbuvEV1VcKkKenc11SKXf6Z9iLSVn+cNMZdWIQc/v2XMop0ARZEKAA6IAp5UzoNL70VbeiM7xQQMVPK6dpKf5oHWSsK+At40ZtMnJNHym0pZ/5JlhtmNmeU3Cdlu6Vl7PH4muUonV+lv8IH4K7hq3pLriUoSesa8maRNXk63r4jSPnOepj9n8HNRuhw+9gT8x2tw+ucP5Sw6OIqw1KFxGT6yA26+d9Vcrl5cbIcmPx8/xV5W6ZXTIPrPgk1G6AQrWUJ/D5lTRnfgwMGhwyFkw6GvHXqa6DUJ2b54AS4lzrgXb4edT8HKr4M3HZ9LY4cxgfrATJh2gU3I/qBfQ8vi2wGFvmAJ8dZKeiNxsoNuxtHMX7X/5hb9WQp1M6srkDqQ2OfWaNVyobPazgDL9LlQFcjSQwTNjkdPqEmqEb0tqLEQNSKX53NuhDlXsemui/Et/SgirYgyUUybSMNryNc1ikx+Efw8LL2ZTJ+LEB5a/JMpDe2RhKytkmjGRLrxc37kR7wcX0AAmfz/1JZavmsOJI/EDTseIzvgliXF9b+mOX0Om8V0ABYJ6RFKr5Tdpv6YJJOf+MApPHDjMoIX3pV4406m2AmFFnPMlzW78qPLJ5Cf5kVRFLy6yn/GbuYLkVsByBeSkHWGBoYcW2Xv0YT1P7O1loc3VI3F7h8xBnjInJKlAwcODgMOIRsOLTJ6QhIyNwcMWZb07v0HzLgEzr4TkJlinQR5fOlfoHCuPYTbralkmopRt288RqssFeYGPMzsfB1VESxR9pKrWB6y1LR5r0ujSc2ltW6/PeDb69IIenQm6q32cr5wMx6XBu3yBlUjcvG6ZbkozevCd/F34dY3QVFpQ6plMXc6ITykeyWR0jWVTL+LKu90Zhrl5Ke5obUSLWcSqgLVIo92gviQN9/nt9fxyNsHiRuCuJFQyIqUVlhzF3gz2Dnny9QKqXaVmoPTc6r+hYKBP9qW+p7nXwczL5Uhrw5OKNSa81ItQ38yfG6NGDr7zLJ9kSJDkwcrWRakSfU3NIqS5aMbD/Ln9QcOe5/HEraHzDAg1OmULB04cHBYcAjZcBg3Hz63kfbMeeQGPewXhYnnZlxk/9fyzVg/Xbpi/7Q8Va2eYrT2A4AgJ+hmUovsWlygVpBltIIvC7SEIR6kSX9fKB1Pbx3PvFMDyE7Ku7WHeJI7ADBQCERa8LlV6JC5TzUiD3+SfwfNheLLxK2ptJnly1hAvpfk4Ndsv5uN8RnkKJ3MpBK66/EVTOWFL57FxfMK6RVeAopUyNp7o3SFY3a33OTcAD6XxvyozJXimgfpLT7DJmQArSKIN9TEJKUef6QVXIHEDEpFgev+DB95eFSnxsHxg5XTpbK7ZELWgOesv4m6/9/enYdJVtf3Hn//zjlV1V3V+zr7BsMwDAMCwyKOMOASRCMS3HLNlSiGGGOWGxMj8WpyQ7wGjVfRmEQeNSGPS1QeDcQFkMgILojswzAMDAPDdM/ee/VWy/ndP845tfQy09M9M9XL5/U8/XT1qVNVp+f0VH/6+/ue3y/8OVgcDrOXDlmevbQOgLa6Kn7LeYA3dN1+zNfM5S25WdJr5keLi4/2AVYVMhGZFgWyo3Fj0LKWvJekpTbBIRoKvVSc/prCbtVhNSoRNjfHyipkQeA5EF+Okx/hNLOP1niWtq6H2WebqDXDpPY/NG64EoJA9mK2kZQZZWSwr/AaF9jthX0OxlZQkz0SDFn2BoGsw7YUjqlUwnPosTUA+FEgqyoODzam4tzVH1xFee7BO8ONq1nbXkvCcxkiQTIcsoyWkDrQF3y9vCnJjpuvYlnvI0EPWNsGknGv8IsYKCwLtdh0kch0j6sIqkl/bnrbpmU8e/NVLGtMjruvOhas+dpFHRliLJ6gQnbhqiaqYy4NyRjvit3PZekfQXZ43HOVyvl+2QL3lWSjIcthLZskItOnQDZFQTO9Ya9ZDG1nQd2Swn3VYypk0XqTcc+lKuYGPWaJYDmZLd7TrBl6EsfP8s+5NwPgdD1fNjt94XnjLgdsU/Bc6WB+sYTxWeoX5xp7Kb6W2nx38Np9eyFew4hXS23V+D6suOfSHQ5Z2trxFbLGZJztw03s9VtZ2vH9YGNTMFeZ6xiGqCJlRjEUfxHuD4er6vPd8NmN8NR/BPODOQ6phMsocbpKLiqAYNjKG+ma8HuWuccYU/jZH6s67rKovhowHDLNLDVHSJDhevMDYuR45ZpmXnNmO686vYVzltRwlnkJl3xh7dfJZGZdhQwYCVsPVCETkWlQIJuilnD+r88l/gCu+WLZfVE1qioW/HMaY4i5pjAdQGMyxvPZZl5mEdfU7qTmwK/wnRh35C+jywkCF0vPH/eaVTGX/WEgqxoOJn+tGXoZj2LX8yG3jfp8L9UeQYWsfjlfuf4irn/lqnHPF1TIgnBEFMiqioFs/eLgvl/4G3Cz6SBYLQ7mKou5hkEb9Phc6TzOFc7jQLFC1jL0AvS9DNYv9IElwxUNoirZr8NpNla43TiDh8dNbyHzz0Wrmrj8jFZcx9CRb2Kx6eZNsUf4WOxrXBZ7hm/eeAmb17bw5es38WfnOYUeRTp+fdTnzeX9stUiKslGPWSZYMUMEjWVPSARmZMUyKYomiF/d/WGceGpUCHzilWCmOsU1vhrTMX57x2HuD+3kQ2jT8ILPyHTfh7DVPHJ5V+CDz0Hr/vbca9ZHXPZa9vwreHdue/QQh/VfcGFBi+86Tvc0PpNukxjsFalmw4CUcNyNq9toa1ufIN1wnMKFTK3fikAddXFStoNm1cD8N38q8mvuhze9m/gBN9TVCEDuMn7Jjd53wBgfxjIUrmwSf+GH8M5bw+2jQlkL9glHKGB5W4PDB4eP2Qp887/ftNZfOQNZ1Idc+m0TSw1Xbw6Fqz2sMTtK+646z545KsAjBKbQiCzZGZRhcwxpjjMGhs/dCsiciwKZFPUEl4BlkqMHwqMAlkiVvznjLlOSYUsTno0xy/jl+Lmh+HANuyqYLLVmualUNs+4WtWxx0O0ciHczdyvnmOd3v3UNUbLOV02sZXMhxv4rAJm6U5UqiQTSbuOfSGPWRVTUu55bqNXHf+ssL9Dck4t1y3kdozL8f93bvKApPnOAzaIJAtN4fDq+VsoUIWzStG8+mFXrBoialt/mpGGs9ghASdfhPLnCMweEQVsgUkqPY202Z6uMg+BcCiaKms0TR8693w8JcAeNi9ADoeOerzZfN+2eTEleRbG/zIZ4MrobW2qohMhwLZFEUTsiYnaJZf1ZIk7josL2lqDipkwT9v1Ni//IKr4PWfAOMSO/MqzlxUy8WrmyZ9zSjo3ZG/nP0E/Tex3l1QtxQStcRch30m6MNalX85mAOp4eiB7Cl/DQfrzoalm3jHhStoH1NJe8eFK/jy9ReOe6xXUiFLmCw1ZoQ6hgpTHlRne4KJckv6Z6IK2Rfyb6Hrd+4DYJ9t5nT/JbB5BbIFJBl3eSB/Di4+S2ww/L7ICUP8jrsgGwz3vRBfxw5WQ38ndqSf5w4OTPh8Wd+fNT1kVhUyETkBFMimqKE6huuYQsgodXpbLc/efBWrWlKFbXHXFK62jKa+uO6CZXDpB+EjL+OtvJi7//Qy3rBx8aSvWdoofcA2sZhu3O5d0BJMYMIH7wAAIABJREFUthpzDfv8oIq1biRsgj5KhSzhORykie9f9DWom/x1J+K5DoOUh7fFpqtQIavO9gRXVzrFH6mqmIMxYHForgsqc/ttMw2FtTsVyBaK6pjLw3Y9P2u8FoBhG6eV3mCuv199Kbh45MMv8k9L/p494TJkP//1I7z+sw+w+3B63PNlc7ZstYhK8q0NVk7KRYFMFTIROX4KZFPkOIYlDVU0puKT3l8qEXMLgera85byodedwZmL6sI7p9b0Wzp1xQEbNESbrl3BsCBBFa7XJhmgmnXpYEki2tZP+nzREGrU23Y8PMcwZBNl20oDWWK0a1zAMiYIsHHPIeEFFcPOkmkwOO3K4z4OmZuiiYofWvvn3NT4/3jcP53ldh/ctgUOPAWv+lNINmFSzbyQD6q++14MpnfZ0z007vlyvj9rApm14f//qELmje/fFBE5loqsUWOMaQC+DJwNWOC9wE7gW8Aq4CXg7dbankoc32S+cv2FheHHY7n5mrNpqQ3C23krGjlvxfhJM4+ldHHm/baJq5yHMaN+YSqKmOuQzft02lbOzL0MjgfNayd9vmgI1XOPP4d7rhlXIbvYeZb67CB3spl4pgdS49egTMZdTCYIZ7VVHn0jYRhd/2ZITj5cK/NLNFFxW2MNjyU3cIgGLs0/A3mCCYHX/yYArbUJfpxpgwSMHHwBWMPBMPSXyuYtvgXft+P+GDrVxveQachSRI5fpSpktwJ3W2vPBM4FdgAfAf7bWrsW+O/w61nljPZa2mqn9tfv5rUtxYrYNFWPGbL0TFgRKAlkI1mfDj8MQi3rwJu4ggeQ8MrnSTseQQ9ZeYXsD7z/4tb4P3GmeZn4yPgKGQQXQUSVudoqj3vzF/Cr1rfCmz9/3Mcgc1dU7W2vqyLhORyyJX+gLCletdxak6DPJvGrm0kMBEsjHewfHfd8UXVsKpPDZvM+o7kpLJA5TeU9ZAa8xDEfIyIy1ikPZMaYeuAy4CsA1tqMtbYXuAaI1ky5HXjLqT622aYqXl4hKwgDWdwzDIxk6bBhEGo/66jPFx+zksDx8FyHITtxGH2PezfeSPckgcwtvG5ddYx+avj52g8HS0XJghH9cbGoroqE53LIhhd/VDeVTbLcGl7N3FO1jOX2AAAHB8ZXyKKG/qk09v+f/9rO+24/+lWbM1FYXDw7HFTHtOKEiExDJSpkq4HDwL8aYx43xnzZGJMC2q21+8N9DgATzwWxgES/xBqTscKM/WCgcSUQTkWRydNpw+kp2jcc9flmFMic8iHL3X4wsexLfjtvc3+Km+mH5Ph5xZJxr7CkVLR6QM0EqwjI/BZVyBbVV5GIOcVAtujssgATBbIXcq2scA7RmIyNG7K01hYqY1PpI9vXO1KYL+9kKCwunh1WQ7+ITFslfjN6wPnAH1lrf2WMuZUxw5PWWmuMmfBPX2PMjcCNAO3t7WzduvUkHy6k0+lT8jpjHRj0McDi6jz7h4JhyZFEKw/97JcAHNwfDOVEFbKnDubpPspxdh0K9n92x3ZS3TuP61hefCnLCHF8G/zyfMauYoXp4i+yv893EsGktjs7u9k/5vVH0iNkR322bt3KSFjp2LdnN1u37j2u15+OSp03Ga/78CiOge2P/pLuwxlyBIFsb7aBF0rO0f50ELAe6avj/aaLM6oH2dWZKzuPed9iw3eHnz74c+oTR69IHTw8zMCwPWk/C76FPXv2cCD3Ig15w0ML9GdO/9/mLp272aESgawD6LDWhpcFcgdBIDtojFlsrd1vjFkMHJrowdba24DbADZt2mS3bNly0g9469atnIrXmcgVrx7hPx/v5NM/ypDHoWrJ+sKx/HJ4B+zZzf3+K3hmw4c455o/PmoP2U8HtsPelzjv3I1sOfP4CpB7H9oDzz7NIFXkjMfnc9fyijf+Hs/fUxtclgGsO+9S1q3fUva4XNtBuocybNm0nB8eeZJHD3ZwwTkb2HLukvEvcoJV8rxJueoVXZy7u5srr1jL/X1P85PO/fgYll9yLcvP3lLYr38ky00/u5d7sq/gA4nv8n+5lYbsbprPuBOWnAfASDYP994NwEWXXMLi+qNXpf7luV/Smx8+KT8L1lq4+4esXrWKRT11kG9csD9z+v82d+nczQ6nfMjSWnsA2GuMWRdueg3wDHAXcH247XrgzlN9bLNRe10VybhLDo8Od3nhlxIUr5ocIUHnht8/ahiDmQ9ZAgyRoNfU85xdjj3jan7wJ5exu+nV4Qukxj3utWe18/ZNwdxoteG6mRqyXHguXtPMn7w2uAI44Tl00soXz/oGbLi2bL/ahEfMgSft6fyi7mpOG3ycZvrIP/a1wj6ZkmHKqfSQZfOWvH9yJpGNKnUashSRmarUb8Y/Ar5ujIkDu4H3EITDbxtjbgD2AG+v0LHNOtEi3R9vvZXbr9xc2F66jFPpFZmTKV5lOYNAZqvoM/Xhcbk01yTgff8Ov/wirNx8tKcoLGRep0C2oEVLjKVrV49rgDfGUJ8wHBm2PLr+L3AGLyH95Pe44pm74OpPg+OUhbCp9JCdzGWW/DCROdG0F5ryQkSmqSK/Ga21TwCbJrjrNaf6WOaCVLgmJPEUuMV50DatLF6pWBU7dshKFCpk05j2InzMU5zGkBc09EdBkWQTvOZjx3yOQlN/Ympzucn8FP1hEH0eqz4eBLJli9oYrHondz52iNcO/SPsfQhWXkquJIRlp1ghm8p+0xEV3hzHQG4EErUn5XVEZP5TqWIOqA6DTxSoIucuL64bWTWFClk0xDm9IcvgMX9p/4jVqRrMQP+UQmCpNa0pqmMu7XWap2khi36OJ/v5iZr0V7fU0FITZ6s9j4xTRfypb8HKS8uGLCeqkI1k8yQ8BxNW37J5/6QNWUYVsuCFhiHVdlJeR0TmPy2dNAekwikDEmNCV2mwmkogi4aKvGkunRR8doi7wZJI5jjnW7r8jFYe//jraEgevddN5rcokE1aIYsCWXOKZY1Jrjz3NO7OX4j/9HchO1w2ZJkbE7TSozk2/d193LejeE1QNn/yl1kKesiG1EMmItOmQDYHRHM4ja2QAbxv82oA6qqPXeycUYUsfIzrBIumJ+PHDoBjGWOmFBxlfov+sJisQnZem8s7Ni2nPlym7MbL1vDt7Gac0X7Y+aOyfrDcmKDVnc6QHs2xt2T9y1zejgtuJ0p5D5ma+kVk+hTI5oDUJEOWAB9943oe/PAVU1rSqSEZx5hiL9fxKFbIDJ5rphXIRKBkyHKSCtk5rR63vPWcwterW1L8wt9A1qmCjkfI5IrhKhq+fLlriGv+8Wd09AZBbDTnl+0TzF124kOZX3aVpZr6RWT6FMjmgGTY1B+fIJAZY1jeNLVfAq87q527/nDzMedtmkg0zFmskKn9UKan0NQ/xR7E6piL53n0JpZAz0tjKmRBInp6Xx9PdvSxraMPoGztymi48mRUyaIKWbC4+IgqZCIybfqtOgckCxWymVWlXMewcVn9tB8LwXDnDZtXM5w5eYs1y/x2rArZWMYYGpMxDnmLae15sawfLApnQ+HP4+GBYDWK0gpZ6bqXJ3rE3IYv4+BDflSBTESmTYFsDkjGXGoTHi01lWuGj5X0kG1ZpyvJZPqiythUK2QAjck4++wiNvQ8TjY3ftqL4UwOgMPpMJBly4csAbK+TzUnNpFFFbKYH7yuApmITJcC2RzgOIa7/9dlNKcqF8jckh4ykZnYsKSeK9a1smHJ1Ku19dUxXk63Q3YIM1i8gjKqfo2vkI0fssyfhLnIomeM++Hi5eohE5FpUg/ZHLG0obqiVyjGnGKFTGQmmlJx/vU9F9F0HH9gNCbjvJBrBSDWt6ewPQpbkw1Zli5Enp3mbP0vHhmc9L5ChcxGgUwVMhGZHgUymZIoiCmQSSU0pmI8m2kBINYfBLLzzXMse/HbAAxng0B2JF0eyLLHue7lrfc9zwe+/mjh62f29XPFP2zl6c6+CfePApnnZ4INCmQiMk0KZDIl0XJL05lUVmSmGpJxdgw3YI1DVToIZL/j3cc5z3wGgKGwh6xnKAvAaBjQjnch8qc6enm6s7/wddfgaPg5M+H+UfUtFg1ZegpkIjI9CmQyJcUKmX5k5NRrTMYY9l1sw0pSvc8F2xggnhuA3CjDmfLhyKhCVj6r/7GHLAdGc2VVtUL/2SSPLTb1a8hSRGZGv11lSqKrLNXUL5UQLbc13HY+jd1PApYGE/Z2pQ8xnM2V7R819ZdPkXHsCll6pDyQZQpDnxM/dlyFTE39IjJNCmQyJeohk0pqqA6WUeptfgXVo4dZQhcNDAR3Dh4qNPVHogpZJje+2nU06dFcWfjKlMxhNpFCD1k+CmTHXjFDRGQiCmQyJVHvmCpkUgmN4RWZB+s2AnCes4tGkw7uTB8eH8iy42fnn0oPWXrskGU09DnJkGVUIXNt0LuGp0AmItOjQCZT4mnaC6mgxnCh8Y74anJOgk3OTuoIFxBPHxy3csQJG7LMj+9FK1WokEWBzI1N4bsRERlPgUymRBUyqaSoh6xnBLpSa7nQ2YljwpA0eKhwlWVk3ejTMNhVNmSZO8aQ5Ug2Tybvk80XFyIvroM5WVN/8NkpBLLEcX1fIiIRBTKZkiiIea5+ZOTUa6iOUVvl8b3HO+mNL+IMs7d4Z/owIyVLJSXI8PnMx+GhL5YPWR6jQpYeLYa6aN9jN/VH85BFgaxyq2mIyNym364yJdGQpSpkUgme63DLdefwxN5eHjxURdyUDFGmD5ZVyFaag3jkoXfvcQ1ZpkeKzxE9LlOY9mKyIcvgc6FC5imQicj0KJDJlHi6ylIq7OqNi1nRlORlv7mwLWMSMFje1L/a7A9u9O8rWYjcksuVD2uOVVohiypi2Vz50OVYUYXMVYVMRGZIgUymxHEMjlGFTCqrMRmj07YUvj6cWIlNH2Q057PU6eHhxAe4xv0FALa/k2xYwvqAexcX3nPNUZ97YIIKWbGH7OgVssJVlgpkIjJNCmQyZZ7jaKZ+qaiGZJxO21r4+kBiJaQPAfDKZAdtpper3YcB8Pv3sXN/sAblGc5eavp3FeepmEB5haw8kE0+ZBlVyDJgXHDc6X5rIrLA6berTJnnGlXIpKIakzH22WDI0sewN7EWM9rPYrpYG+8q29fNj/LvP3kieBxpHJuH0YFJnzs9mi3cjqa5mGiR8lJRIHP8rKpjIjIjCmQyZa5jcLW4uFRQQzJOPynSJBmghu3VFwCw2d3GKvdIYb8+GyxhVJsJqmcN0SSywz2TPndpU39m7JDlMZZOcvysGvpFZEYUyGTK1rSkWNmktfqkchrD+cj2mxbSTg0vuyvJJdu4zHmKpRxi1HoAPOyvB6DddAPQQBDIBvsOc8ejHYVm/FIDRxmynKyHrDBTvypkIjJDXqUPQOaOOz+4udKHIAtcYyqYCX+bfxqL48NkfehbsplXPX8v+VwbP/fPpqvlQr5xYBmvcx9lcRjIomWW7ntsJ3/+8EHOXFTL2Uvry567tEIWVcSiecgmm1S20ENmM5oUVkRmRBUyEZkzohn7/3z0Bj5d/1F6hzI8mdhEk0nTOrybl207u9bewDa7GoCPeV/jVc426kywzNKuPcGEstv39Y177tKm/uKQZbi4+DGa+o2f1bJJIjIjCmQiMmc0VAehx8fB9Twee7mXP3x0EYM2qE69/XWbueS0ZnJ4vOS3kzSjfNL7cuHxPUcOArCtc3wgi6a9aKeb6r0/A8b3ko1VmPbCz4CnCpmITJ8CmYjMGVEPGRRXjximinv8CwFItq0h4QXbfzvzv/lZfgMrnMOFx9SRpiEZ4+nO/nHPHQWy93v/xRk/+T2wtjBkOZrzufIzW/nt2x6idyhT8qjSqyxVIROR6VMgE5E5oyFZDD1eyRW/38hdiR9LweJzSHjBXGD7aS409xcebwZ5yyuWsmN//7i+sPRolphraDc9uPlhyA4VKmP9w1l2Hx7kl7u7uO2B3YXH+KVXWaqHTERmQIFMROaMxlRphSwIZG88ZzGvveotmJs6oGFFoUIGsLdkElmAZmeQ81Y0MJrz2XU4XXbfwEiO5lSCVtMbbBjqLgSy0qWZeoaK85X5flQhy+gqSxGZEQUyEZkzUvHiTPjdg8HQ4SVrmnn/5adhwiHMqtjEgWzAVtPsDLKmeohbvNsY3f6DsufuH8nSXBOnlbC/bLibTNjUX7p4eSZXrKxFFTLj5zQPmYjMiKa9EJE5w5jiMGVHzzAQzI9XKhqyBNhr2wq3X7LtNLiDrNj1NTZ6W+HBrbC8Gc54PQD9wzlWNado7YoqZF1kcsEQaWmFLFMy1GkLM/WPgltc9FxE5HipQiYic1JXWCFbNS6QFd/WDtHAKDGy1qXTttJMH3U7vsXP8hvImxi89CAQDD0OjGRZksyTMqPBgycZsszkgtv7eocLV2tq6SQRmSlVyERkTrnvzy6nKuaw+Zb7AVhcV1V2f1Qhq0l4pEdz7KeVGjNIj61hud8JafiO8y5WV+dZuu9xAAYzOXwLK2Ila10O95DNB1WviYYsP/vj5/jOox0AOHn1kInIzCiQiciccnpbDQDfeN/FPLO/H2fMgveJsIdseVOSHfv76TBLaLOHcQmHGpecz9N9l7Lbe46l+7eC79MfTnmx1CuZDmOouxC+JhqyjCp0EE0Mq0AmItOnIUsRmZMuPb2F9716zbjtcTcMZI3VAHwh/l5u9v6YB/2NjJoqeNu/0VRbzTOsgdF+6N5N/3Bw5WSbUzJh7PD4IUtjihWy6DEQVsjU1C8iM6AKmYjMK45j+ORvbWR1S4p7nznI4dhSMo5Ph78Y94zr+FzjSlprj/DoQLC8Evseo7/mNQA02x4AMm6KeEmFLFKT8IqBbKQYyFQhE5GZUoVMROad375oBecsCxYPj7kOsbBqlqwKrppsqUnwyGA7VDfC8/cWhizr/R6y1qW3enk47YVPggz/HPssq8x+ahMeH+v9GPzkE/QPF/vKjK/FxUVkZhTIRGReqo65OAZinsEN+8ySsaDhv6UmQfeIT37dm2Dn3aTTwSSxNZkjHKGeIa8hvMrSssoc4A3ur3mVs53GeJ5NucfggU+VV8jyWjpJRGZGgUxE5iVjDKm4h+c4hVn9k4mgS6OlJqhm9a6+GjID1HX+FICqvhfYa9sZdOuxw93kfUsdQwA0MsC57kuF5y82+ttgpn4tLi4iM6BAJiLzVk2VR7xkyDKa6b+lJuj36my8kGyyjXOf/Sz1pHEPbWeHWcOgWwdD3QDUmiCQNZkBNtqdAFivONVGjDCYqUImIjOgQCYi81Yq4ZUPWYaBrLU2qGb920Od/E7v71M/0sm/Jj6DyQ2z06wh7dRhRvtxyRcrZGaA9blnAbAUp9qIEfaSqYdMRGZAgUxE5q3ljdW011YRc6NAFgxZrl9cx7nL6vnuY538yl/Pd/KXcb4Jql/Pu6cx4NQB0ECaOjMIQBMDrBndAYCTGyZBMA9ZnLCXTFdZisgMKJCJyLz1j//jfD5x7Ua8cOHxVCKokFXFXO74g0v5zNvO5Z0XLueO/OXBA7xq9rtLC4Gs0QxQS7Bm5hLTRV2uiw7bEtxHMKt/oUKmechEZAYUyERk3kolPKrjLt6YChkE02Fcd8EyXndWO4/Ztezyl8CSV+B4MfpNLQCNpGlyw0XMzT4AtvnB/GVNZoC3uj/lh4mbgidUhUxEZkCBTETmPW9MD1mp81Y0AobfzX4Yrv0SMdfQTxjIzACNYSBzjQXg6TCQNZoBNjvbaDXhckvqIRORGVAgE5F5z4smho2PX5ykKRVUttav3wiNK4m5Dj1hIGswaRqcobL9t9tVweMYYLU5ULxDV1mKyAxo6SQRmfeipv6oh2ys5/7uDYUqWtxz6CNYwLyRNHVmuLCfj8MOf0VwnxlgtdlffBINWYrIDKhCJiLznhs29VdPMGQJQQhzwkDmOYa0n8B34jSaNHUMFvYbrmrjCMGSTGtNZ1lYU1O/iMyEApmIzHuxMGylJhiyHLev65DxLblEAw0MUMMQB2wjAMPJJeRxSZsazneeL3+gKmQiMgMKZCIy70VXWVbHJq6QlYp7Drm8TybeQKNJk/IH2WPbARhNLQGgh1o2OHvKH6imfhGZAQUyEZn3PNcJFht3zLH3dQzZvCUTb6DBpEnaNHv8IJBlUksBOOIHPWYZWxLw1NQvIjOgQCYi896GJXVctLppSvvGXIds3icTq6edHmI2yx7bzveqrqVr9ZsAuDu3iR63iQf8c4oP1OLiIjIDCmQiMu+96+KV3P7ei6a0b8wLAtlwrJ4V5hAA/ST5Wv2NZFs2APCl/G/yd+v+k/dl/6L4QPWQicgMKJCJiJSIhUOWaaceJ5wMtt8mibsOca/4ltmUCoYoR204VKlAJiIzoEAmIlIiGrKM1rMEGCBJ3HNIlASyuqogiPWRCjaYY/eniYhMRoFMRKREMGRp6Q1n6wfY5q8h7pVXyOqqg0D2qdw7gg3J5lN6nCIyvyiQiYiUCIYsfZ5IbeZzvIsfveFBDtMQBDK3NJAFc5rdkb+c/o8cgXiqUocsIvOAApmISIlEzGUkm6crV8V3qt6KTbYG28f0kEVDlgCOhitFZIYUyEREStRXxxjN+RxJj1KT8HBL1ricaMgSQHFMRGaqYoHMGOMaYx43xnw//Hq1MeZXxphdxphvGWN0yZKInHINySBodfYOU1PlFRYmHxfIVCETkROokhWyPwF2lHx9C/BZa+3pQA9wQ0WOSkQWtIbq4G/Bjp4hUgkPL1yYPO5O3EMGusBSRGauIoHMGLMMeCPw5fBrA1wJ3BHucjvwlkocm4gsbFGFbCTrU5vw8MIhy9jYpn5VyETkBPKOvctJ8Tngw1C4rrwZ6LXW5sKvO4ClEz3QGHMjcCNAe3s7W7duPblHCqTT6VPyOnJi6bzNTZU+b3v684XbAz2H2fZUDwD79r7MAw8cwDPgAw//4sHCfg8+8NNCr9lCVenzJtOnczc7nPJAZox5E3DIWvuoMWbL8T7eWnsbcBvApk2b7JYtx/0Ux23r1q2citeRE0vnbW6q9Hnr6Bnir39xPwCnr1zOhecuhod/wRmnr2HLltOpuv8eYq7hiiuugHt+AMCWLVsWfCCr9HmT6dO5mx0qUSF7FfBmY8zVQBVQB9wKNBhjvLBKtgzorMCxicgC15AsXk9UU1Ucsoxm6Y97DrVV5W+dCzyLicgJcMp7yKy1N1lrl1lrVwHvBH5irX0XcD/w1nC364E7T/WxiYik4m4hhNWWNvV7xeb+0v4xAKMeMhGZodk0D9lfAn9mjNlF0FP2lQofj4gsQMaYQpUslSiZ9sItBrPSKyxFRE6Eir6rWGu3AlvD27uBiyp5PCIiEFxpeSQ9Sk2VRzIRvE3WhlWx5po4i+urK3l4IjIP6c88EZExGsJZ+GsTHksbqvnG713MppVNAHzpf15AwnUBeOPGxfxg2/6KHaeIzB8KZCIiY0RzkaXC6tilp7UU7murrSrcvvWdr+CT1208tQcnIvOSApmIyBj14Wz9NYmjv0V6rkOdO5tacUVkrtI7iYjIGFGFbOz0FiIiJ4sCmYjIGFEPWeoYFTIRkRNF7zYiImNcdfYiBkZzNCZjx95ZROQEUCATERljbXstf3X1+kofhogsIBqyFBEREakwBTIRERGRClMgExEREakwBTIRERGRClMgExEREakwBTIRERGRClMgExEREakwBTIRERGRClMgExEREakwBTIRERGRClMgExEREakwBTIRERGRClMgExEREakwY62t9DFMmzHmMLDnFLxUC3DkFLyOnFg6b3OTztvcpPM2d+ncnTorrbWtE90xpwPZqWKMecRau6nSxyHHR+dtbtJ5m5t03uYunbvZQUOWIiIiIhWmQCYiIiJSYQpkU3NbpQ9ApkXnbW7SeZubdN7mLp27WUA9ZCIiIiIVpgqZiIiISIUtyEBmjPmqMeaQMebpkm1NxpgfG2OeDz83htuNMebzxphdxpinjDHnlzzm+nD/540x11fie1lIJjlvbzPGbDfG+MaYTWP2vyk8bzuNMb9Rsv2qcNsuY8xHTuX3sFBNcu4+bYx5Nvx/9T1jTEPJfTp3s8Ak5+3m8Jw9YYy51xizJNyu98pZYqLzVnLfh4wx1hjTEn6t8zZbWGsX3AdwGXA+8HTJtk8BHwlvfwS4Jbx9NfAjwACXAL8KtzcBu8PPjeHtxkp/b/P5Y5Lzth5YB2wFNpVsPwt4EkgAq4EXADf8eAFYA8TDfc6q9Pc23z8mOXevB7zw9i0l/+d07mbJxyTnra7k9h8D/xLe1nvlLPmY6LyF25cD9xDM39mi8za7PhZkhcxa+wDQPWbzNcDt4e3bgbeUbP93G3gIaDDGLAZ+A/ixtbbbWtsD/Bi46uQf/cI10Xmz1u6w1u6cYPdrgP+w1o5aa18EdgEXhR+7rLW7rbUZ4D/CfeUkmuTc3WutzYVfPgQsC2/r3M0Sk5y3/pIvU0DUiKz3yllikt9xAJ8FPkzxnIHO26zhVfoAZpF2a+3+8PYBoD28vRTYW7JfR7htsu0yOywl+CUfKT0/Y8/bxafqoGRS7wW+Fd7WuZvljDGfAN4N9AFXhJv1XjmLGWOuATqttU8aY0rv0nmbJRZkhexYrLWW8r8gROQkMcZ8FMgBX6/0scjUWGs/aq1dTnDOPljp45GjM8Ykgb8CPl7pY5HJKZAVHQzLtISfD4XbOwnG3SPLwm2TbZfZQedtDjDG/C7wJuBd4R9CoHM3l3wduC68rfM2e51G0I/5pDHmJYJz8JgxZhE6b7OGAlnRXUB0Fcn1wJ0l298dXolyCdAXDm3eA7zeGNMYXpH5+nCbzA53Ae80xiSMMauBtcDDwK+BtcaY1caYOPDOcF85xYwxVxH0s7zZWjtUcpfO3SxmjFlb8uU1wLPhbb1XzlLW2m3W2jZr7Spr7SqC4cfzrbUH0Hn+o26xAAACKElEQVSbNRZkD5kx5pvAFqDFGNMB/DXw98C3jTE3EFyB8vZw9x8SXIWyCxgC3gNgre02xtxM8EsC4G+ttRM1UcoJMsl56wa+ALQCPzDGPGGt/Q1r7XZjzLeBZwiGw/7QWpsPn+eDBG8sLvBVa+32U//dLCyTnLubCK6k/HHY0/KQtfb9OnezxyTn7WpjzDrAJ3ivfH+4u94rZ4mJzpu19iuT7K7zNktopn4RERGRCtOQpYiIiEiFKZCJiIiIVJgCmYiIiEiFKZCJiIiIVJgCmYiIiEiFKZCJyLxnjGk2xjwRfhwwxnSGt9PGmH+q9PGJiGjaCxFZUIwxfwOkrbX/UOljERGJqEImIguWMWaLMeb74e2/Mcbcbox50BizxxjzW8aYTxljthlj7jbGxML9LjDG/NQY86gx5p5oyTURkZlQIBMRKToNuBJ4M/A14H5r7UZgGHhjGMq+ALzVWnsB8FXgE5U6WBGZPxbk0kkiIpP4kbU2a4zZRrA8093h9m3AKmAdcDbF5Z5cYH8FjlNE5hkFMhGRolEAa61vjMnaYpOtT/B+aYDt1tpXVuoARWR+0pCliMjU7QRajTGvBDDGxIwxGyp8TCIyDyiQiYhMkbU2A7wVuMUY8yTwBHBpZY9KROYDTXshIiIiUmGqkImIiIhUmAKZiIiISIUpkImIiIhUmAKZiIiISIUpkImIiIhUmAKZiIiISIUpkImIiIhUmAKZiIiISIX9f+6RAZLLV/LZAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 720x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "forecast = []\n",
    "results = []\n",
    "for time in range(len(series) - window_size):\n",
    "  forecast.append(model.predict(series[time:time + window_size][np.newaxis]))\n",
    "\n",
    "forecast = forecast[split_time-window_size:]\n",
    "results = np.array(forecast)[:, 0, 0]\n",
    "\n",
    "\n",
    "plt.figure(figsize=(10, 6))\n",
    "\n",
    "plot_series(time_valid, x_valid)\n",
    "plot_series(time_valid, results)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 35
    },
    "colab_type": "code",
    "id": "KfPeqI7rz4LD",
    "outputId": "816335be-fd2a-428f-98d6-05983b84d9b5"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "7.344548"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 结果对比，计算误差loss和平均绝对误差MAE\n",
    "tf.keras.metrics.mean_absolute_error(x_valid, results).numpy()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 235
    },
    "colab_type": "code",
    "id": "JUsdZB_tzDLe",
    "outputId": "964c47d9-7eec-42cd-905f-c45c2fd31d9e"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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3HwzPPhg7gq1QYNi3HvvxT5fvLjwuWDDhsVVV2PGwC9/CZddFldjde4M114bw2Zx2fXkyTB9euP3FR1/PPz613HzaOq55+L3Nn8+VFXF+teuze2n+ofc3XePffL88/HbA/jYx+KdKf37x3/ooosin4MGwYUXwgUXxMMwt5aZzXL3EY2OU1CQUvHuu/GIkIMPjoNvY6qr4e2347LhYt7ZvWZNXFq8997xB94ebNoUB8oBA6C83gt3lyyJA1j9wNMRVFXB66/HfTz190VtbRxw582LZ2vVP0FZvDie0PupT8F++zW+/Pnz48BdVhaXkO++O3zgAxE8irV2bVzG/eqrEbCOPx4OOCCW4R539s+dG+n19938+bFd9dO3hoKCiIjU2VxQ0M1rIiJSR0FBRETqlGZQcI8H7IiISIHSDArf/360Rv31r22dExGR7UppBoXPfCau5/vkJ6OpX0REAGiBi5vaod12g6eegiOPhOOOgz//GT74wYbTucdF4WvWxMXCCxbEdWGLFsGHPxzzd+vWcL7q6pine/eWvTBfRCRj21VQMLPjgZuBTsAv3P26Lcyy9T70IXj88bhg+SMfiUCxalV0a9ZEt3bt5l9j1qULHH543PGycGF0K1fGSxJSffvGxcW77x4Xvw8dGheQ77hjdF27xh036V03FRXRlZXFBecbN0aQ6dIluurquND5tdfizqeKiriDaYcdYh3DhsU6evSIC+3Ly2Md3brlLobesCGec71hQ+G6U507x4Xs6cXs778f38v69ZGvsrL4Xtati666Ou7+Srt0XY1J50u3E+JOpFmzojqvb9+4kWD48Nje996DZctieTvuGNvZo0fDO6+qq3PfU3MuHN+S9JLtYpbpnvs+ysvj+0+7/PmLWWa6Xyoqtn173BsuY8OGuDj/vffit7B6dXx3u+8ed0g1dTJTW5v7f2zcGCc+PXrEvBs2RPq6dbG+srLY9vT3l78t6XeV/s/Mcr/xiorcb7f+d7c9co/tqK2N/0xTdwVu7bJbefu3m6BgZp2AW4HjgCrgJTN71N3/ntlKDz00bj28+ur44gcNyh100q5nz9znrrvGyw369o2D2NNPwzPPxA938OAILr17x/TdusUPZeHCuJNo3rx4Q87atS2T906d4rbcmppYz6pV8Sdriln8gTduLLy1Mytdu8YfvFOn3J8kva0zVVYW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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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vmdPyds5jlN1Oeuss3j33XcBGDduHFdcUbQ1/5tvvsno0aO5/PLLefXVV9Nuj3sKWUwgBoE4OI5TTm67DebNS+0xe/eGxx4rdbPLL7+cX//615xzzjksWLCAa6+9lk8//TS8fty4cdx33320bduWiy66iHvuuSe87o9//COvhCoWmzdvzuTJkytstotCFuOeguNkP7169WL16tWMGzeOs846q8i6TZs2sWzZMoYOHYqIUKdOHRYuXEiPHvZ58XSEj1wUshj3FBwnRSRRok8n5557LnfccQf/+c9/2LZtWzj9tddeY/v27eHOZzt37mTcuHE89NBDabPF6xSyGBcFx6keXHvttdx///307NmzSPq4ceN4//33Wb16NatXr2b27Nlpr1dwUchiPHzkONWD3NxcbrnlliJpq1evZs2aNUWaonbu3JmmTZsyffp0wOoUopukrl69usK2ePgoi3FPwXGym927dxdLGzFiBCNGjABg/frin5WZM2cOAAMHDuSBBx5IuU3uKWQxgSi4p+A4TqpwUchiAg/BPQXHcVKFi0IW456C4zipxkUhi/E6BcdxUo2LQhbjrY8cx0k1LgpZjHsKjuOkGheFLKWgAPLz7beLguNkJ40bN860CcVwUchSooXAw0eO46QKF4UsJVoI3FNwnOrDvHnzGDRoEL169eKCCy5g+/btAIwdO5Zu3brRq1cvLr/8cgA++eSTcG/mPn36sCsFH1fxHs1ZSiAEIu4pOE5FyeDI2cW45ppreOKJJxg+fDj33Xcfv/rVr3jsscd4+OGHWbVqFfXq1Qt/Ye3RRx/lT3/6E0OGDGH37t3Ur1+/wna7p5ClBELQsqV7Co5TXdixYwd5eXkMHz4cgDFjxjBlyhTAhti+8soreeWVV8jJsfL8kCFDuP322xk7dix5eXnh9IrgnkKWEohC69awZk1mbXGcbCfDI2cnxbvvvsuUKVMYP348Dz30EF9++SV33303Z599Nu+99x5Dhgzhgw8+oGvXrhU6j3sKWUrgHbRubb9VM2uP4zgVp2nTpjRv3jz85bWXX36Z4cOHU1hYyNq1aznllFN45JFH2LFjB7t372bFihX07NmTu+66i/79+/P1119X2Ab3FLKUwFNo08bm+/ZBw4aZs8dxnLKzd+9ecnNzw8u33347L774IjfccAN79+7lqKOO4vnnn6egoICr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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.image  as mpimg\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "#-----------------------------------------------------------\n",
    "# Retrieve a list of list results on training and test data\n",
    "# sets for each training epoch\n",
    "#-----------------------------------------------------------\n",
    "mae=history.history['mae']\n",
    "loss=history.history['loss']\n",
    "\n",
    "epochs=range(len(loss)) # Get number of epochs\n",
    "\n",
    "#------------------------------------------------\n",
    "# Plot MAE and Loss\n",
    "#------------------------------------------------\n",
    "plt.plot(epochs, mae, 'r')\n",
    "plt.plot(epochs, loss, 'b')\n",
    "plt.title('MAE and Loss')\n",
    "plt.xlabel(\"Epochs\")\n",
    "plt.ylabel(\"Accuracy\")\n",
    "plt.legend([\"MAE\", \"Loss\"])\n",
    "\n",
    "plt.figure()\n",
    "\n",
    "epochs_zoom = epochs[20:]\n",
    "mae_zoom = mae[20:]\n",
    "loss_zoom = loss[20:]\n",
    "\n",
    "#------------------------------------------------\n",
    "# Plot Zoomed MAE and Loss\n",
    "#------------------------------------------------\n",
    "plt.plot(epochs_zoom, mae_zoom, 'r')\n",
    "plt.plot(epochs_zoom, loss_zoom, 'b')\n",
    "plt.title('MAE and Loss')\n",
    "plt.xlabel(\"Epochs\")\n",
    "plt.ylabel(\"Accuracy\")\n",
    "plt.legend([\"MAE\", \"Loss\"])\n",
    "\n",
    "plt.figure()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "3CGaYFxXNEAK"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<tensorflow.python.keras.callbacks.History at 0x7fadaed16160>"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 调整不同的学习率和神经网络层数来训练\n",
    "tf.keras.backend.clear_session()\n",
    "dataset = windowed_dataset(x_train, window_size, batch_size, shuffle_buffer_size)\n",
    "\n",
    "model = tf.keras.models.Sequential([\n",
    "  tf.keras.layers.Lambda(lambda x: tf.expand_dims(x, axis=-1),\n",
    "                      input_shape=[None]),\n",
    "  tf.keras.layers.Bidirectional(tf.keras.layers.LSTM(32, return_sequences=True)),\n",
    "  tf.keras.layers.Bidirectional(tf.keras.layers.LSTM(32)),\n",
    "  tf.keras.layers.Dense(1),\n",
    "  tf.keras.layers.Lambda(lambda x: x * 100.0)\n",
    "])\n",
    "\n",
    "\n",
    "model.compile(loss=\"mse\", optimizer=tf.keras.optimizers.SGD(lr=1e-6, momentum=0.9))\n",
    "model.fit(dataset,epochs=100, verbose=0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "FJ3R8ysauz9e"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 1/100\n",
      "31/31 [==============================] - 1s 21ms/step - loss: 755.7012\n",
      "Epoch 2/100\n",
      "31/31 [==============================] - 1s 22ms/step - loss: 152.7785\n",
      "Epoch 3/100\n",
      "31/31 [==============================] - 1s 21ms/step - loss: 97.9761\n",
      "Epoch 4/100\n",
      "31/31 [==============================] - 1s 23ms/step - loss: 83.2915\n",
      "Epoch 5/100\n",
      "31/31 [==============================] - 1s 24ms/step - loss: 78.2600\n",
      "Epoch 6/100\n",
      "31/31 [==============================] - 1s 21ms/step - loss: 73.4347\n",
      "Epoch 7/100\n",
      "31/31 [==============================] - 1s 22ms/step - loss: 67.8632\n",
      "Epoch 8/100\n",
      "31/31 [==============================] - 1s 24ms/step - loss: 74.5354\n",
      "Epoch 9/100\n",
      "31/31 [==============================] - 1s 25ms/step - loss: 73.1458\n",
      "Epoch 10/100\n",
      "31/31 [==============================] - 1s 23ms/step - loss: 63.4809\n",
      "Epoch 11/100\n",
      "31/31 [==============================] - 1s 22ms/step - loss: 60.9757\n",
      "Epoch 12/100\n",
      "31/31 [==============================] - 1s 22ms/step - loss: 57.7044\n",
      "Epoch 13/100\n",
      "31/31 [==============================] - 1s 23ms/step - loss: 62.4454\n",
      "Epoch 14/100\n",
      "31/31 [==============================] - 1s 23ms/step - loss: 56.6497\n",
      "Epoch 15/100\n",
      "31/31 [==============================] - 1s 22ms/step - loss: 53.2329\n",
      "Epoch 16/100\n",
      "31/31 [==============================] - 1s 23ms/step - loss: 65.0537\n",
      "Epoch 17/100\n",
      "31/31 [==============================] - 1s 22ms/step - loss: 58.6710\n",
      "Epoch 18/100\n",
      "31/31 [==============================] - 1s 23ms/step - loss: 60.0726\n",
      "Epoch 19/100\n",
      "31/31 [==============================] - 1s 23ms/step - loss: 56.1999\n",
      "Epoch 20/100\n",
      "31/31 [==============================] - 1s 22ms/step - loss: 55.7786\n",
      "Epoch 21/100\n",
      "31/31 [==============================] - 1s 22ms/step - loss: 51.2688\n",
      "Epoch 22/100\n",
      "31/31 [==============================] - 1s 22ms/step - loss: 54.9552\n",
      "Epoch 23/100\n",
      "31/31 [==============================] - 1s 21ms/step - loss: 51.5539\n",
      "Epoch 24/100\n",
      "31/31 [==============================] - 1s 22ms/step - loss: 55.4753\n",
      "Epoch 25/100\n",
      "31/31 [==============================] - 1s 25ms/step - loss: 48.4559\n",
      "Epoch 26/100\n",
      "31/31 [==============================] - 1s 23ms/step - loss: 54.2121\n",
      "Epoch 27/100\n",
      "31/31 [==============================] - 1s 21ms/step - loss: 54.4619\n",
      "Epoch 28/100\n",
      "31/31 [==============================] - 1s 21ms/step - loss: 54.1912\n",
      "Epoch 29/100\n",
      "31/31 [==============================] - 1s 23ms/step - loss: 48.2903\n",
      "Epoch 30/100\n",
      "31/31 [==============================] - 1s 22ms/step - loss: 49.6825\n",
      "Epoch 31/100\n",
      "31/31 [==============================] - 1s 21ms/step - loss: 53.0422\n",
      "Epoch 32/100\n",
      "31/31 [==============================] - 1s 21ms/step - loss: 56.4042\n",
      "Epoch 33/100\n",
      "31/31 [==============================] - 1s 22ms/step - loss: 47.9185\n",
      "Epoch 34/100\n",
      "31/31 [==============================] - 1s 24ms/step - loss: 50.2060\n",
      "Epoch 35/100\n",
      "31/31 [==============================] - 1s 24ms/step - loss: 48.2373\n",
      "Epoch 36/100\n",
      "31/31 [==============================] - 1s 26ms/step - loss: 47.5874\n",
      "Epoch 37/100\n",
      "31/31 [==============================] - 1s 23ms/step - loss: 53.0302\n",
      "Epoch 38/100\n",
      "31/31 [==============================] - 1s 24ms/step - loss: 47.7121\n",
      "Epoch 39/100\n",
      "31/31 [==============================] - 1s 24ms/step - loss: 47.2859\n",
      "Epoch 40/100\n",
      "31/31 [==============================] - 1s 21ms/step - loss: 48.6493\n",
      "Epoch 41/100\n",
      "31/31 [==============================] - 1s 21ms/step - loss: 46.0403\n",
      "Epoch 42/100\n",
      "31/31 [==============================] - 1s 21ms/step - loss: 49.4847\n",
      "Epoch 43/100\n",
      "31/31 [==============================] - 1s 22ms/step - loss: 48.2804\n",
      "Epoch 44/100\n",
      "31/31 [==============================] - 1s 23ms/step - loss: 51.2779\n",
      "Epoch 45/100\n",
      "31/31 [==============================] - 1s 21ms/step - loss: 48.2863\n",
      "Epoch 46/100\n",
      "31/31 [==============================] - 1s 23ms/step - loss: 51.8344\n",
      "Epoch 47/100\n",
      "31/31 [==============================] - 1s 24ms/step - loss: 49.9794\n",
      "Epoch 48/100\n",
      "31/31 [==============================] - 1s 25ms/step - loss: 45.3264\n",
      "Epoch 49/100\n",
      "31/31 [==============================] - 1s 24ms/step - loss: 45.0664\n",
      "Epoch 50/100\n",
      "31/31 [==============================] - 1s 22ms/step - loss: 45.8870\n",
      "Epoch 51/100\n",
      "31/31 [==============================] - 1s 22ms/step - loss: 49.2073\n",
      "Epoch 52/100\n",
      "31/31 [==============================] - 1s 21ms/step - loss: 50.4170\n",
      "Epoch 53/100\n",
      "31/31 [==============================] - 1s 22ms/step - loss: 50.7224\n",
      "Epoch 54/100\n",
      "31/31 [==============================] - 1s 22ms/step - loss: 44.6063\n",
      "Epoch 55/100\n",
      "31/31 [==============================] - 1s 22ms/step - loss: 47.2966\n",
      "Epoch 56/100\n",
      "31/31 [==============================] - 1s 24ms/step - loss: 46.8540\n",
      "Epoch 57/100\n",
      "31/31 [==============================] - 1s 23ms/step - loss: 46.1015\n",
      "Epoch 58/100\n",
      "31/31 [==============================] - 1s 22ms/step - loss: 45.2351\n",
      "Epoch 59/100\n",
      "31/31 [==============================] - 1s 24ms/step - loss: 45.4370\n",
      "Epoch 60/100\n",
      "31/31 [==============================] - 1s 24ms/step - loss: 46.3429\n",
      "Epoch 61/100\n",
      "31/31 [==============================] - 1s 24ms/step - loss: 46.9665\n",
      "Epoch 62/100\n",
      "31/31 [==============================] - 1s 24ms/step - loss: 46.5664\n",
      "Epoch 63/100\n",
      "31/31 [==============================] - 1s 22ms/step - loss: 45.2381\n",
      "Epoch 64/100\n",
      "31/31 [==============================] - 1s 21ms/step - loss: 45.0082\n",
      "Epoch 65/100\n",
      "31/31 [==============================] - 1s 22ms/step - loss: 44.2408\n",
      "Epoch 66/100\n",
      "31/31 [==============================] - 1s 20ms/step - loss: 43.7104\n",
      "Epoch 67/100\n",
      "31/31 [==============================] - 1s 21ms/step - loss: 44.6086\n",
      "Epoch 68/100\n",
      "31/31 [==============================] - 1s 22ms/step - loss: 48.9862\n",
      "Epoch 69/100\n",
      "31/31 [==============================] - 1s 21ms/step - loss: 49.3742\n",
      "Epoch 70/100\n",
      "31/31 [==============================] - 1s 23ms/step - loss: 48.0163\n",
      "Epoch 71/100\n",
      "31/31 [==============================] - 1s 22ms/step - loss: 43.7251\n",
      "Epoch 72/100\n",
      "31/31 [==============================] - 1s 22ms/step - loss: 46.3182\n",
      "Epoch 73/100\n",
      "31/31 [==============================] - 1s 21ms/step - loss: 45.2350\n",
      "Epoch 74/100\n",
      "31/31 [==============================] - 1s 21ms/step - loss: 43.9390\n",
      "Epoch 75/100\n",
      "31/31 [==============================] - 1s 22ms/step - loss: 45.4765\n",
      "Epoch 76/100\n",
      "31/31 [==============================] - 1s 25ms/step - loss: 46.1003\n",
      "Epoch 77/100\n",
      "31/31 [==============================] - 1s 23ms/step - loss: 45.5499\n",
      "Epoch 78/100\n",
      "31/31 [==============================] - 1s 23ms/step - loss: 44.7749\n",
      "Epoch 79/100\n",
      "31/31 [==============================] - 1s 27ms/step - loss: 44.7592\n",
      "Epoch 80/100\n",
      "31/31 [==============================] - 1s 20ms/step - loss: 51.3417\n",
      "Epoch 81/100\n",
      "31/31 [==============================] - 1s 19ms/step - loss: 53.4107\n",
      "Epoch 82/100\n",
      "31/31 [==============================] - 1s 18ms/step - loss: 45.4838\n",
      "Epoch 83/100\n",
      "31/31 [==============================] - 1s 18ms/step - loss: 45.8837\n",
      "Epoch 84/100\n",
      "31/31 [==============================] - 1s 20ms/step - loss: 46.3762\n",
      "Epoch 85/100\n",
      "31/31 [==============================] - 1s 21ms/step - loss: 44.9510\n",
      "Epoch 86/100\n",
      "31/31 [==============================] - 1s 21ms/step - loss: 43.7665\n",
      "Epoch 87/100\n",
      "31/31 [==============================] - 1s 20ms/step - loss: 51.7506\n",
      "Epoch 88/100\n",
      "31/31 [==============================] - 1s 20ms/step - loss: 46.2335\n",
      "Epoch 89/100\n",
      "31/31 [==============================] - 1s 19ms/step - loss: 48.7304\n",
      "Epoch 90/100\n",
      "31/31 [==============================] - 1s 19ms/step - loss: 45.3579\n",
      "Epoch 91/100\n",
      "31/31 [==============================] - 1s 20ms/step - loss: 53.3695\n",
      "Epoch 92/100\n",
      "31/31 [==============================] - 1s 19ms/step - loss: 44.1400\n",
      "Epoch 93/100\n",
      "31/31 [==============================] - 1s 20ms/step - loss: 43.6139\n",
      "Epoch 94/100\n",
      "31/31 [==============================] - 1s 20ms/step - loss: 46.2337\n",
      "Epoch 95/100\n",
      "31/31 [==============================] - 1s 20ms/step - loss: 44.8032\n",
      "Epoch 96/100\n",
      "31/31 [==============================] - 1s 21ms/step - loss: 44.4877\n",
      "Epoch 97/100\n",
      "31/31 [==============================] - 1s 21ms/step - loss: 44.1543\n",
      "Epoch 98/100\n",
      "31/31 [==============================] - 1s 21ms/step - loss: 44.8083\n",
      "Epoch 99/100\n",
      "31/31 [==============================] - 1s 21ms/step - loss: 45.3499\n",
      "Epoch 100/100\n",
      "31/31 [==============================] - 1s 21ms/step - loss: 46.9555\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<tensorflow.python.keras.callbacks.History at 0x7fadac4b39b0>"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "tf.keras.backend.clear_session()\n",
    "dataset = windowed_dataset(x_train, window_size, batch_size, shuffle_buffer_size)\n",
    "\n",
    "model = tf.keras.models.Sequential([\n",
    "  tf.keras.layers.Lambda(lambda x: tf.expand_dims(x, axis=-1),\n",
    "                      input_shape=[None]),\n",
    "  tf.keras.layers.Bidirectional(tf.keras.layers.LSTM(32, return_sequences=True)),\n",
    "  tf.keras.layers.Bidirectional(tf.keras.layers.LSTM(32, return_sequences=True)),\n",
    "  tf.keras.layers.Bidirectional(tf.keras.layers.LSTM(32)),\n",
    "  tf.keras.layers.Dense(1),\n",
    "  tf.keras.layers.Lambda(lambda x: x * 100.0)\n",
    "])\n",
    "\n",
    "\n",
    "model.compile(loss=\"mse\", optimizer=tf.keras.optimizers.SGD(lr=1e-6, momentum=0.9))\n",
    "model.fit(dataset,epochs=100)"
   ]
  }
 ],
 "metadata": {
  "colab": {
   "collapsed_sections": [],
   "name": "S+P Week 3 Lesson 4 - LSTM.ipynb",
   "provenance": [],
   "toc_visible": true,
   "version": "0.3.2"
  },
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
